https://school.programmers.co.kr/learn/courses/30/lessons/67258
from collections import defaultdict
def solution(gems):
answer = []
left = 0
num = len(set(gems))
d = defaultdict(int)
for right in range(len(gems)):
d[gems[right]] += 1
right += 1
while len(d) == num:
d[gems[left]] -= 1
if d[gems[left]] == 0:
del d[gems[left]]
left += 1
answer.append([left, right])
return sorted(answer, key = lambda x: (x[1]-x[0], x[0]))[0]