Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- from collections import defaultdict
- # 生成长度为10的非负数的整数数组
- nums = [random.randint(0, 10) for _ in range(10)]
- print(f"数组 nums = {nums}")
- def findShortestSubArray(nums):
- left, right, count = {}, {}, defaultdict(int)
- for i, x in enumerate(nums):
- if x not in left:
- left[x] = i
- right[x] = i
- count[x] += 1
- degree = max(count.values())
- min_length = len(nums)
- for x in count:
- if count[x] == degree:
- min_length = min(min_length, right[x] - left[x] + 1)
- return min_length
- # 计算并输出最短连续子数组的长度
- result = findShortestSubArray(nums)
- print(f"{result}")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement