leetCode猜数字:不同语言的实现,不同的空间复杂度和时间复杂度

引用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的性能还是不错的!哈哈哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值