File tree 6 files changed +125
-2
lines changed
solution/1000-1099/1016.Binary String With Substrings Representing 1 To N
6 files changed +125
-2
lines changed Original file line number Diff line number Diff line change 40
40
41
41
<!-- 这里可写通用的实现逻辑 -->
42
42
43
+ 4(100)存在的话,2(10)一定存在。` n ` 存在的话,` n >> 1 ` 也一定存在,所以只需要判断 ` [n/2+1, n] ` 范围的数字
44
+
43
45
<!-- tabs:start -->
44
46
45
47
### ** Python3**
46
48
47
49
<!-- 这里可写当前语言的特殊实现逻辑 -->
48
50
49
51
``` python
50
-
52
+ class Solution :
53
+ def queryString (self , s : str , n : int ) -> bool :
54
+ for i in range (n, n // 2 , - 1 ):
55
+ if bin (i)[2 :] not in s:
56
+ return False
57
+ return True
51
58
```
52
59
53
60
### ** Java**
54
61
55
62
<!-- 这里可写当前语言的特殊实现逻辑 -->
56
63
57
64
``` java
65
+ class Solution {
66
+ public boolean queryString (String s , int n ) {
67
+ for (int i = n; i > n / 2 ; i-- ) {
68
+ if (! s. contains(Integer . toBinaryString(i))) {
69
+ return false ;
70
+ }
71
+ }
72
+ return true ;
73
+ }
74
+ }
75
+ ```
76
+
77
+ ### ** Go**
78
+
79
+ ``` go
80
+ func queryString (s string , n int ) bool {
81
+ for i := n; i > n/2 ; i-- {
82
+ if !strings.Contains (s, strconv.FormatInt (int64 (i), 2 )) {
83
+ return false
84
+ }
85
+ }
86
+ return true
87
+ }
88
+ ```
58
89
90
+ ### ** C++**
91
+
92
+ ``` cpp
93
+ class Solution {
94
+ public:
95
+ bool queryString(string s, int n) {
96
+ for (int i = n; i > n / 2; --i) {
97
+ string b = bitset<32>(i).to_string();
98
+ b = b.substr(b.find_first_not_of('0'));
99
+ if (s.find(b) == string::npos) return false;
100
+ }
101
+ return true;
102
+ }
103
+ };
59
104
```
60
105
61
106
### **...**
Original file line number Diff line number Diff line change 32
32
### ** Python3**
33
33
34
34
``` python
35
-
35
+ class Solution :
36
+ def queryString (self , s : str , n : int ) -> bool :
37
+ for i in range (n, n // 2 , - 1 ):
38
+ if bin (i)[2 :] not in s:
39
+ return False
40
+ return True
36
41
```
37
42
38
43
### ** Java**
39
44
40
45
``` java
46
+ class Solution {
47
+ public boolean queryString (String s , int n ) {
48
+ for (int i = n; i > n / 2 ; i-- ) {
49
+ if (! s. contains(Integer . toBinaryString(i))) {
50
+ return false ;
51
+ }
52
+ }
53
+ return true ;
54
+ }
55
+ }
56
+ ```
57
+
58
+ ### ** Go**
59
+
60
+ ``` go
61
+ func queryString (s string , n int ) bool {
62
+ for i := n; i > n/2 ; i-- {
63
+ if !strings.Contains (s, strconv.FormatInt (int64 (i), 2 )) {
64
+ return false
65
+ }
66
+ }
67
+ return true
68
+ }
69
+ ```
41
70
71
+ ### ** C++**
72
+
73
+ ``` cpp
74
+ class Solution {
75
+ public:
76
+ bool queryString(string s, int n) {
77
+ for (int i = n; i > n / 2; --i) {
78
+ string b = bitset<32>(i).to_string();
79
+ b = b.substr(b.find_first_not_of('0'));
80
+ if (s.find(b) == string::npos) return false;
81
+ }
82
+ return true;
83
+ }
84
+ };
42
85
```
43
86
44
87
### **...**
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public:
3
+ bool queryString (string s, int n) {
4
+ for (int i = n; i > n / 2 ; --i) {
5
+ string b = bitset<32 >(i).to_string ();
6
+ b = b.substr (b.find_first_not_of (' 0' ));
7
+ if (s.find (b) == string::npos) return false ;
8
+ }
9
+ return true ;
10
+ }
11
+ };
Original file line number Diff line number Diff line change
1
+ func queryString (s string , n int ) bool {
2
+ for i := n ; i > n / 2 ; i -- {
3
+ if ! strings .Contains (s , strconv .FormatInt (int64 (i ), 2 )) {
4
+ return false
5
+ }
6
+ }
7
+ return true
8
+ }
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public boolean queryString (String s , int n ) {
3
+ for (int i = n ; i > n / 2 ; i --) {
4
+ if (!s .contains (Integer .toBinaryString (i ))) {
5
+ return false ;
6
+ }
7
+ }
8
+ return true ;
9
+ }
10
+ }
Original file line number Diff line number Diff line change
1
+ class Solution :
2
+ def queryString (self , s : str , n : int ) -> bool :
3
+ for i in range (n , n // 2 , - 1 ):
4
+ if bin (i )[2 :] not in s :
5
+ return False
6
+ return True
You can’t perform that action at this time.
0 commit comments