题目来自LeetCode,个人刷题笔记。
题目:
小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} 之一。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/guess-numbers
个人解法:
class Solution:
def game(self, guess: List[int], answer: List[int]) -> int:
suc_num = 0
for i in range(0,3):
if guess[i] == answer[i]:
suc_num+=1
return suc_num
思路:
建立两个队列的索引数组,从第一个开始遍历对比,符合条件计数。遍历完成后返回总数。
时间复杂度O(n)
执行用时 :44 ms, 在所有 Python3 提交中击败了34.15%的用户,成绩不太理想。看了看执行时间靠前的代码,跟我的几乎一样。LeetCode的执行成绩跟本地硬件有关??不是在逗我吧。