引用LeetCode上的一道算法题:
题目:
小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回 小A 猜对了几次?
输入的guess数组为 小A 每次的猜测,answer数组为 小B 每次的选择。guess和answer的长度都等于3。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/guess-numbers
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
针对这道题目了,一时来了兴趣,想试一下各种语言的时间和空间的使用情况,所以就进行了以下的编码:
Java语言实现:
class Solution {
public int game(int[] guess, int[] answer) {
int num = 0;
for(int i = 0; i < 3; i++) {
if(guess[i] == answer[i]) {
num++;
}
}
return num;
}
}
GO语言实现:
func game(guess []int, answer []int) int {
num := 0;
for i := 0;i < 3; i++ {
if guess[i] == answer[i] {
num++
}
}
return num
}
C语言实现
int game(int* guess, int guessSize, int* answer, int answerSize){
int num = 0;
for(int i = 0; i<3; i++) {
if(guess[i] == answer[i]) {
num++;
}
}
return num;
}
JavaScript语言实现
/**
* @param {number[]} guess
* @param {number[]} answer
* @return {number}
*/
var game = function(guess, answer) {
num = 0;
for(i = 0; i < 3; i++) {
if(guess[i] == answer[i]){
num++;
}
}
return num;
};
Python3语言实现
class Solution:
def game(self, guess: List[int], answer: List[int]) -> int:
return sum(guess[i] == answer[i] for i in range(3))
以上就是为了实现这个小功能写的,
最开始写的时候,我下意识认为,
执行性能由高到低:
C>GO>Java>Python3>Javascript
但是执行出来后,发现却不是这个情况
由此看来,针对于这道题来说,GO的性能还是不错的!哈哈哈