Facebook
From thongnd, 10 Months ago, written in Python.
Embed
Download Paste or View Raw
Hits: 118
  1.  
  2. # Online Python - IDE, Editor, Compiler, Interpreter
  3.  
  4. def solution(A, k):
  5.     m = {}
  6.     res = 0
  7.     for i,x in enumerate(A):
  8.         if str(x) not in m:
  9.             m[str(x)] = {
  10.                 'have': [i]
  11.             }
  12.         else:
  13.             m[str(x)]['have'].append(i)
  14.     for x in m:
  15.         m[x]['del'] = missing_elements(m[x]['have'])
  16.         if len(m[x]['have']) > res and len(m[x]['del']) <= k:
  17.             res = len(m[x]['have'])
  18.     return m, res
  19.  
  20. def missing_elements(L):
  21.     start, end = L[0], L[-1]
  22.     return sorted(set(range(start, end + 1)).difference(L))
  23.  
  24. # A = [1,3,2,2,1,1,2]
  25. # A = [1,2,1,2,1]
  26. A = [5,5,5,5,5,5]
  27. # A = [1,2,3,4,5,6]
  28. k = 5
  29.  
  30. print(f'{solution(A, k)}')
  31.