Degree of an Array LeetCode solution in Python
1# Runtime: 198 ms (Top 78.1%) | Memory: 18.99 MB (Top 16.6%)234class Solution:5def findShortestSubArray(self, nums):6# Group indexes by element type7d = defaultdict(list)8for i, x in enumerate(nums):9d[x].append(i)10#11# Find highest Degree12m = max([len(v) for v in d.values()])13#14# Find shortest span for max. degree15best = len(nums)16for v in d.values():17if len(v) == m:18best = min(best, v[-1] - v[0] + 1)19return best