【算法】LCP 01. 猜数字(java / c / c++ / python / go / rust)
【摘要】 LCP 01. 猜数字:小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回 小A 猜对了几次?输入的guess数组为 小A 每次的猜测,answer数组为 小B 每次的选择。guess和answer的长度都等于3。 样例 1输入: guess = [1,2,3], answer = [1,...
LCP 01. 猜数字:
小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回 小A 猜对了几次?
输入的guess数组为 小A 每次的猜测,answer数组为 小B 每次的选择。guess和answer的长度都等于3。
样例 1
输入:
guess = [1,2,3], answer = [1,2,3]
输出:
3
解释:
小A 每次都猜对了。
样例 2
输入:
guess = [2,2,3], answer = [3,2,1]
输出:
1
解释:
小A 只猜对了第二次。
限制
- guess 的长度 = 3
- answer 的长度 = 3
- guess 的元素取值为 {1, 2, 3} 之一。
- answer 的元素取值为 {1, 2, 3} 之一。
分析
- 这道题选不到rust语言。
- 这道题很简单,但是总觉得可能有什么地方能优化。
题解
java
class Solution {
public int game(int[] guess, int[] answer) {
return (guess[0] == answer[0] ? 1 : 0) + (guess[1] == answer[1] ? 1 : 0) + (guess[2] == answer[2] ? 1 : 0);
}
}
c
int game(int* guess, int guessSize, int* answer, int answerSize){
return (guess[0] == answer[0] ? 1 : 0) + (guess[1] == answer[1] ? 1 : 0) + (guess[2] == answer[2] ? 1 : 0);
}
c++
class Solution {
public:
int game(vector<int>& guess, vector<int>& answer) {
return (guess[0] == answer[0] ? 1 : 0) + (guess[1] == answer[1] ? 1 : 0) + (guess[2] == answer[2] ? 1 : 0);
}
};
python
class Solution:
def game(self, guess: List[int], answer: List[int]) -> int:
return sum(guess[i] == answer[i] for i in range(3))
go
func game(guess []int, answer []int) int {
ans := 0
if guess[0] == answer[0] {
ans++
}
if guess[1] == answer[1] {
ans++
}
if guess[2] == answer[2] {
ans++
}
return ans
}
原题传送门:https://leetcode-cn.com/problems/guess-numbers/
非常感谢你阅读本文~
放弃不难,但坚持一定很酷~
希望我们大家都能每天进步一点点~
本文由 二当家的白帽子:https://bbs.huaweicloud.com/community/usersnew/id_1628396583336561 博客原创~
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)