Binary String With Substrings Representing 1 To N LeetCode solution in C++

1
class Solution {
2
public:
3
bool queryString(string s, int n) {
4
unordered_set<int> seen;
5
int len = s.length();
6
for (int i = len - 1; i >= 0; i--) {
7
int num = 0;
8
for (int j = 1; j <= min(len - i, 31); j++) { // max 31 bit is enough to form positive integer
9
num = num * 2 + (s[i + j - 1] == '1' ? 1 : 0);
10
if (0 < num && num <= n) seen.insert(num);
11
}
12
if (seen.size() == n) return true;
13
}
14
return false;
15
}
16
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0