LeetCode5476. 找出数组游戏的赢家

class Solution:
    def getWinner(self, arr: List[int], k: int) -> int:

        if k > len(arr):
            return max(arr)

        d = {}

        for i in range(len(arr)):
            d[arr[i]] = 0

        while 1:
            if arr[0] > arr[1]:
                d[arr[0]] += 1

                if d[arr[0]] == k:
                    return arr[0]

                arr.append(arr[1])
                arr.pop(1)
            elif arr[0] < arr[1]:
                d[arr[1]] += 1
                d[arr[0]] = 0
                if d[arr[1]] == k:
                    return arr[1]

                arr.append(arr[0])
                arr.pop(0)

你可能感兴趣的:(算法)