【算法】LCP 01. 猜数字(java / c / c++ / python / go / rust)

举报
二当家的白帽子 发表于 2022/03/08 11:20:00 2022/03/08
【摘要】 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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。