Leetcode # 2799. Count Complete Subarrays in an Array
- 2023.07.30
- ★★ Medium Array Dynamic Programming LeetCode
https://leetcode.com/contest/weekly-contest-356/problems/count-complete-subarrays-in-an-array/
Solution
Time Complexity: O(len(nums))
Space Complexity: O(len(nums))
(The input and output generally do not count towards the space complexity.)
class Solution: def countCompleteSubarrays(self, nums: List[int]) -> int: counter = set(nums) dp = [set([num]) for num in nums] subarrays_n = [len(_dp) == len(counter) for _dp in dp].count(True) for i in range(1, len(nums)): for j in range(len(dp[i:])): dp[i + j].add(nums[j]) if len(dp[i + j]) == len(counter): subarrays_n += 1 return subarrays_n
用 template 格式重寫
class Solution: def countCompleteSubarrays(self, nums: List[int]) -> int: counter = set(nums) dp = [set([num]) for num in nums] subarrays_n = [len(_dp) == len(counter) for _dp in dp].count(True) for l in range(1, len(nums)): for i in range(len(nums) - l): dp[i].add(nums[i + l]) if len(dp[i]) == len(counter): subarrays_n += 1 return subarrays_n
Last Updated on 2023/08/16 by A1go