LeetCodeDiary

A Diary for solving LeetCode problems

View on GitHub
'''
Description: 
Autor: Au3C2
Date: 2021-02-20 13:58:39
LastEditors: Au3C2
LastEditTime: 2021-02-20 13:59:00
'''
class Solution:
    def findShortestSubArray(self, nums: List[int]) -> int:
        counter = {}
        max_count = 0
        max_num = None
        for i,n in enumerate(nums):
            if n in counter:
                counter[n][0] += 1
                counter[n][2] = i
            else:
                counter[n] = [1,i,i]
        for count in counter.values():
            if count[0] > max_count:
                res = count[2] - count[1]
                max_count = count[0]
            elif count[0] == max_count:
                res = min(count[2] - count[1],res)            
        
        return res+1
# 数组,简单,每日一题
# https://leetcode-cn.com/problems/degree-of-an-array/