力扣编程【数组】:697. 数组的度

数组的度icon-default.png?t=M85Bhttps://leetcode.cn/problems/degree-of-an-array/考察如何寻找度相同的最短连续子素组


class Solution:
    def findShortestSubArray(self, nums: List[int]) -> int:
        du_list = {}
        left = {}
        right = {}
        for i, num in enumerate(nums):
            if num not in du_list:
               du_list[num] = 1
            else:
                du_list[num] += 1
            
            if num not in left:
                left[num] = i
            right[num] = i

        degree = max(du_list.values())
        res = len(nums)
        for k,v in du_list.items():
            if v == degree:
                res = min(res, right[k] - left[k] + 1)
        return res


版权声明:本文为TYUT_xiaoming原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。