给定一个二进制字符串 S
(一个仅由若干 '0' 和 '1' 构成的字符串)和一个正整数 N
,如果对于从 1
到 N
的每个整数 X
,其二进制表示都是 S
的子串,就返回 true
,否则返回 false
。
示例 1:
输入:S = "0110", N = 3
输出:true
示例 2:
输入:S = "0110", N = 4
输出:false
提示:
1 <= S.length <= 1000
1 <= N <= 10^9
思路:
按要求把1-N的每个数的二进制试一次就行了。
class Solution(object):
def queryString(self, S, N):
"""
:type S: str
:type N: int
:rtype: bool
"""
for i in range(1, N + 1):
# print str(bin(i)[2:])
if str(bin(i)[2:]) not in S:
return False
return True