JZX轻语:简

LeetCode 1535 - 找出数组游戏的赢家

发表于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

题目链接:https://leetcode.cn/problems/find-the-winner-of-an-array-game/