2660. 保龄球游戏的获胜者 --力扣 --JAVA
2023-12-28 10:48:46
题目
给你两个下标从?0?开始的整数数组?
player1
?和?player2
?,分别表示玩家 1 和玩家 2 击中的瓶数。保龄球比赛由?
n
?轮组成,每轮的瓶数恰好为?10
?。假设玩家在第?
i
?轮中击中?xi
?个瓶子。玩家第?i
?轮的价值为:
- 如果玩家在该轮的前两轮的任何一轮中击中了?
10
?个瓶子,则为?2xi
?。- 否则,为?
xi
?。玩家的得分是其?
n
?轮价值的总和。返回
- 如果玩家 1 的得分高于玩家 2 的得分,则为?
1
?;- 如果玩家 2 的得分高于玩家 1 的得分,则为?
2
?;- 如果平局,则为?
0
?。
解题思路
- 通过List存储上两个数据;
- 遍历player1统计玩家一的分数;
- 遍历player2统计玩家二的分数;
- 两者相减,大于0返回1,小于0返回2,等于0返回0;
代码展示
class Solution {
public int isWinner(int[] player1, int[] player2) {
List<Integer> data = new ArrayList<>();
int sum = 0;
for(int num : player1){
if(data.contains(10)){
sum += num * 2;
} else {
sum += num;
}
if(data.size() == 2){
data.remove(0);
}
data.add(num);
}
data = new ArrayList<>();
for(int num : player2){
if(data.contains(10)){
sum -= num * 2;
} else {
sum -= num;
}
if(data.size() == 2){
data.remove(0);
}
data.add(num);
}
if(sum > 0){
return 1;
} else if(sum < 0){
return 2;
} else {
return 0;
}
}
}
文章来源:https://blog.csdn.net/qq_45794129/article/details/135258361
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!