Untitled
unknown
plain_text
3 years ago
1.6 kB
14
Indexable
class Solution:
def maximizeWin(self, prizePositions: List[int], k: int) -> int:
out_map = dict.fromkeys(range(max(prizePositions) + 1), 0)
for i in prizePositions:
out_map[i] += 1
key_set = list(out_map.keys())
n = max(key_set)
seg1 = [0, 0]
seg2 = [0, 0]
seg1_max = 0
seg2_max = 0
if k > n:
seg1_max = sum(list(out_map.values()))
else:
for i in range(1, n-k+1):
# print("i = ", i)
summ = 0
for val in range(k+1):
# print("key: ", i+val, "value: ", out_map[i+val])
summ += out_map[i+val]
if summ > seg1_max:
seg1_max = summ
seg1[0] = i
seg1[1] = i + val
for i in range(1, n-k+1):
summ = 0
for val in range(k + 1):
if i+val < seg1[0] or i+val > seg1[1]:
summ += out_map[i+val]
if summ > seg2_max:
seg2_max = summ
seg2[0] = i
# seg2.append(i)
seg2[1] = i + val
# seg2.append(i + k - 1)
print("1: ", seg1_max, " and seg ", seg1)
print("2: ", seg2_max, " and seg ", seg2)
return seg1_max + seg2_max
Editor is loading...