题目描述:
给你一个 正整数 数组 nums。
Alice 和 Bob 正在玩游戏。在游戏中,Alice 可以从 nums 中选择所有个位数 或 所有两位数,剩余的数字归 Bob 所有。如果 Alice 所选数字之和 严格大于Bob 的数字之和,则 Alice 获胜。
如果 Alice 能赢得这场游戏,返回 true;否则,返回 false。
代码思路:
- 变量初始化 :
oneNum和twoNum被初始化为整数,用于分别累加满足特定条件的数字。
- 数字分类与累加 :
- 遍历整数列表
nums中的每个数字i。 - 使用
i%10==0来判断数字是否以0结尾即判断个位数是否为0。 - 如果数字
i的个位数为0(即i%10==0),则将其加到oneNum上。 - 否则,将数字
i加到twoNum上。
- 遍历整数列表
- 结果判断 :
- 最后,返回
oneNum != twoNum的结果,即判断Alice(oneNum)和Bob(twoNum)所收集的数字总和是否不相等。
- 最后,返回
代码实现:
python
class Solution(object):
def canAliceWin(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
oneNum = int()
twoNum = int()
for i in nums:
if i%10 == 0:
oneNum += i
else:
twoNum += i
return oneNum != twoNum