Degree of an Array LeetCode solution in Python

1
# Runtime: 198 ms (Top 78.1%) | Memory: 18.99 MB (Top 16.6%)
2

3

4
class Solution:
5
def findShortestSubArray(self, nums):
6
# Group indexes by element type
7
d = defaultdict(list)
8
for i, x in enumerate(nums):
9
d[x].append(i)
10
#
11
# Find highest Degree
12
m = max([len(v) for v in d.values()])
13
#
14
# Find shortest span for max. degree
15
best = len(nums)
16
for v in d.values():
17
if len(v) == m:
18
best = min(best, v[-1] - v[0] + 1)
19
return best

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0