Untitled
unknown
plain_text
2 years ago
1.6 kB
9
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...