腾讯研发面试题:
根据上排给出10个数,在其下排填出对应的十个数字,要求:下排每个数都是上排那十个数在下排出现的次数。
上排的十个数如下:[0,1,2,3,4,5,6,7,8,9],选择正确结果并写出算法
下排的十个数是:[6,2,1,0,0,0,0,1,0,0](这其实就是一种正确结果了)
解题思路:below的意思是0在below出现了6次,所以below[0] = 6,1在below中出现了2次,所以below[1] = 2。。。
常规思路的就用两层循环
但是哈希思想只需要一轮遍历:
def func(nums):
up = [0,1,2,3,4,5,6,7,8,9]
below = [6,2,1,0,0,0,0,1,0,0]
temp = [0]*10
for i in range(len(below)):
temp[below[i]] += 1
return temp == below