leetcode刷刷题(1) ---- 猜数字

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; 
}

leetcode刷刷题(1) ---- 猜数字_第1张图片

他山之石:
  • 很多人认为此题不需要循环,毕竟只需要比较三次即可,这确实是对于此题也是一种方法,但是个人感觉通用性不高,碰上大点的次数就没用了。
int game(int* guess, int guessSize, int* answer, int answerSize){
    return (guess[0] == answer[0]) + (guess[1] == answer[1]) + (guess[2] == answer[2]); 
}

你可能感兴趣的:(LeetCode刷题笔记)