缺数算法

算法说明

缺数算法:同一位置上的最上面10行内没有出现的数,以及同一位置上倒数两行即将变成缺数的数;例如:一位第一行4,第二行5,第三行1,第四行1,第五行9,第六行0,第七行9,第八行1,第九行5,第十行3,在这十行中,有134590,缺2678,但是第一行,即倒数第一行的4即将不在最上面的十行里,所以4成为缺数,所以缺数是24678,至于为什么第二行,即倒数第二行的5不是缺数,因为第九行有5,所以不可能成为缺数,换句话说只要在前八行有的数,那么倒数两行的数都不是缺数。提示:假如倒数两行都是同一个数,且其他八行都没有这个数,那么这个数就是缺数;

代码如下:

1
2
3
4
5
6
7
8
9
def missing_number(nums):  # 一次给定10个数,返回缺数列表
all = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
res = all.difference(set(nums))
a, b, c = nums[0], nums[1], nums[2:10]
if a not in c:
res.add(a)
if b not in c:
res.add(b)
return sorted(list(res))
不要打赏,只求关注呀QAQ