-
发表于 2024.05.19
-
从左到右模拟每个元素能连赢多少次即可,如果连赢次数达到
k
后则返回当前赢家,否则处理完所有元素后,此时的赢家即数组的最大值,此时后面都是它一直赢,此时直接返回最大值即可。class Solution: def getWinner(self, arr: List[int], k: int) -> int: cur_max = arr[0] beat_cnt = 0 for i in range(1, len(arr)): if arr[i] > cur_max: beat_cnt = 1 cur_max = arr[i] else: beat_cnt += 1 if beat_cnt >= k: return cur_max return cur_max
- LC 题目链接
-