解法一
没想到什么好的思路,看的题解,发现都是暴力解法,再看这个数据范围感觉有点不可思议。。。
位数多的二进制数其实会包括位数少的二进制数,可以根据这个做一些剪枝。
class Solution {public boolean queryString(String S, int N) {int begin;if (N == 1) {begin = 1;} else {begin = 1 << (int) (Math.floor(Math.log(N) / Math.log(2)) - 1);}for (int i = begin; i <= N; ++i) {if (!S.contains(Integer.toBinaryString(i))) {return false;}}return true;}}
