题目描述:
给你一个 正整数 数组 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