查找不包括某些数字的数字数

h22fl7wq  于 2021-09-08  发布在  Java
关注(0)|答案(2)|浏览(373)

给定一个数字 N ,你怎么能找到有多少个自然数小于 N ,不包括给定数组中的任何数字(当数字以10为基数写入时) A .
这里有一个例子

Input:
N = 23, A = [1, 6]
Output:
10 *(the length of [0, 2, 3, 4, 5, 7, 8, 9, 20, 22])
bqjvbblv

bqjvbblv1#

这是一条单行线:

new_l=[x for x in range(N) if not any(str(y) in str(x) for y in A)]
print(new_l,len(new_l))

输出:

[0, 2, 3, 4, 5, 7, 8, 9, 20, 22]
10
ajsxfq5m

ajsxfq5m2#

如果效率不是一个问题,您可以这样做:

N = 23
A = [1, 6]

res = []
for i in range(N):
    for j in str(i):
        if int(j) in A:
            break
    else:
        res.append(i)

print(res)
print(len(res))

输出:

[0, 2, 3, 4, 5, 7, 8, 9, 20, 22]
10

相关问题