2019-10-31
Your heart is free. Have the courge to go follow it.
题目:
小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回 小A 猜对了几次? 输入的guess数组为 小A 每次的猜测,answer数组为 小B 每次的选择。guess和answer的长度都等于3。
int game(int* guess
, int guessSize
, int* answer
, int answerSize
){
}
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/guess-numbers
个人解答:(C版本)
毕竟是最简单的题目,只需要将数组的三个元素比较一下就好了。
int game(int* guess
, int guessSize
, int* answer
, int answerSize
){
int i
=0, right_num
=0;
while(i
<3)
{
if(guess
[i
] == answer
[i
])
{
right_num
++;
}
i
++;
}
return right_num
;
}
他山之石:
很多人认为此题不需要循环,毕竟只需要比较三次即可,这确实是对于此题也是一种方法,但是个人感觉通用性不高,碰上大点的次数就没用了。
int game(int* guess
, int guessSize
, int* answer
, int answerSize
){
return (guess
[0] == answer
[0]) + (guess
[1] == answer
[1]) + (guess
[2] == answer
[2]);
}