Leetcode 1016. Binary String With Substrings Representing 1 To N解题报告(python)

1016. Binary String With Substrings Representing 1 To N Binary String With Subs

1016. Binary String With Substrings Representing 1 To N

  1. Binary String With Substrings Representing 1 To N python solution

题目描述

Given a binary string S (a string consisting only of ‘0’ and '1’s) and a positive integer N, return true if and only if for every integer X from 1 to N, the binary representation of X is a substring of S.在这里插入图片描述

解析

我们只需要搜索在n和2**(a-1)之间的数字,因为其他比这小的数字都是他们的子集
值得注意的一点就是,"{0:b}".format(n)代表将十进制数写成二进制的形式。

class Solution:def queryString(self, S: str, N: int) -> bool:import matha=int(math.log(N,2))n=Nwhile n>2**(a-1):#convert n to binaryif "{0:b}".format(n) not in S:return Falsen-=1return True

Reference

https://leetcode.com/problems/binary-string-with-substrings-representing-1-to-n/discuss/283982/python-3-faster-than-100-with-o(1)-memory