今天刷的第一道算法题,先拿一道简单点的试试手,这道题目的要求是:
两个人甲乙在猜数字,甲先从1,2,3三个数字中随机抽3次,结果是guess。乙随后也随机抽三次,结果是answer。然后对比甲乙两个人的结果。示例如下:
guess:[1,2,3], answer: [1, 2, 3]
那么结果就是猜对了3次
guess: [1,2,3] answer:[3,2,1]
那么结果就是猜对了1次
guess: [1,2,3], answer:[3, 3,1]
那么结果就是猜对了0次
即将guess和answer两个作为参数输入,返回猜对的次数。
我想出来的几个答案如下所示:
答案1:
class Solution:
def game(self, guess: List[int], answer: List[int]) -> int:
count = 0
for i in zip(guess, answer):
if i[0] == i[1]:
count += 1
return count
思路是:使用zip将两个列表进行组合,返回每个列表中单个元素组成的元组,然后循环对比。如果相等就将临时变量值+1,最终返回统计结果。
答案2:
class Solution:
def game(self, guess: List[int], answer: List[int]) -> int:
count = 0
for i i