1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
class : def findShortestSubArray(self, nums: List[int]) -> int: maxDict, maxCount = {}, {} for i, x in enumerate(nums): if x not in maxDict: maxDict[x] = [i, i] maxCount[x] = 1 else: maxDict[x][1] = i maxCount[x] += 1 degree = max(maxCount.values()) ans = len(nums) for x in maxDict: if maxCount[x] == degree: ans = min(ans, maxDict[x][1] - maxDict[x][0] + 1) return ans
|
近期评论