File tree Expand file tree Collapse file tree 5 files changed +153
-6
lines changed
1600-1699/1601.Maximum Number of Achievable Transfer Requests Expand file tree Collapse file tree 5 files changed +153
-6
lines changed Original file line number Diff line number Diff line change 40
40
41
41
<!-- 这里可写通用的实现逻辑 -->
42
42
43
+ ** 方法一:回溯**
44
+
45
+ ** 方法二:二进制枚举**
46
+
43
47
<!-- tabs:start -->
44
48
45
49
### ** Python3**
@@ -63,6 +67,19 @@ class Solution:
63
67
return ans
64
68
```
65
69
70
+ ``` python
71
+ class Solution :
72
+ def subsets (self , nums : List[int ]) -> List[List[int ]]:
73
+ ans = []
74
+ for mask in range (1 << len (nums)):
75
+ t = []
76
+ for i, v in enumerate (nums):
77
+ if (mask >> i) & 1 :
78
+ t.append(v)
79
+ ans.append(t)
80
+ return ans
81
+ ```
82
+
66
83
### ** Java**
67
84
68
85
<!-- 这里可写当前语言的特殊实现逻辑 -->
@@ -92,6 +109,25 @@ class Solution {
92
109
}
93
110
```
94
111
112
+ ``` java
113
+ class Solution {
114
+ public List<List<Integer > > subsets (int [] nums ) {
115
+ int n = nums. length;
116
+ List<List<Integer > > ans = new ArrayList<> ();
117
+ for (int mask = 0 ; mask < 1 << n; ++ mask) {
118
+ List<Integer > t = new ArrayList<> ();
119
+ for (int i = 0 ; i < n; ++ i) {
120
+ if (((mask >> i) & 1 ) == 1 ) {
121
+ t. add(nums[i]);
122
+ }
123
+ }
124
+ ans. add(t);
125
+ }
126
+ return ans;
127
+ }
128
+ }
129
+ ```
130
+
95
131
### ** C++**
96
132
97
133
``` cpp
@@ -118,6 +154,30 @@ public:
118
154
};
119
155
```
120
156
157
+ ```cpp
158
+ class Solution {
159
+ public:
160
+ vector<vector<int>> subsets(vector<int>& nums) {
161
+ vector<vector<int>> ans;
162
+ vector<int> t;
163
+ int n = nums.size();
164
+ for (int mask = 0; mask < 1 << n; ++mask)
165
+ {
166
+ t.clear();
167
+ for (int i = 0; i < n; ++i)
168
+ {
169
+ if ((mask >> i) & 1)
170
+ {
171
+ t.push_back(nums[i]);
172
+ }
173
+ }
174
+ ans.push_back(t);
175
+ }
176
+ return ans;
177
+ }
178
+ };
179
+ ```
180
+
121
181
### ** Go**
122
182
123
183
``` go
@@ -140,6 +200,23 @@ func subsets(nums []int) [][]int {
140
200
}
141
201
```
142
202
203
+ ``` go
204
+ func subsets (nums []int ) [][]int {
205
+ var ans [][]int
206
+ n := len (nums)
207
+ for mask := 0 ; mask < 1 <<n; mask++ {
208
+ t := []int {}
209
+ for i , v := range nums {
210
+ if ((mask >> i) & 1 ) == 1 {
211
+ t = append (t, v)
212
+ }
213
+ }
214
+ ans = append (ans, t)
215
+ }
216
+ return ans
217
+ }
218
+ ```
219
+
143
220
### ** Rust**
144
221
145
222
``` rust
Original file line number Diff line number Diff line change @@ -57,6 +57,19 @@ class Solution:
57
57
return ans
58
58
```
59
59
60
+ ``` python
61
+ class Solution :
62
+ def subsets (self , nums : List[int ]) -> List[List[int ]]:
63
+ ans = []
64
+ for mask in range (1 << len (nums)):
65
+ t = []
66
+ for i, v in enumerate (nums):
67
+ if (mask >> i) & 1 :
68
+ t.append(v)
69
+ ans.append(t)
70
+ return ans
71
+ ```
72
+
60
73
### ** Java**
61
74
62
75
``` java
@@ -84,6 +97,25 @@ class Solution {
84
97
}
85
98
```
86
99
100
+ ``` java
101
+ class Solution {
102
+ public List<List<Integer > > subsets (int [] nums ) {
103
+ int n = nums. length;
104
+ List<List<Integer > > ans = new ArrayList<> ();
105
+ for (int mask = 0 ; mask < 1 << n; ++ mask) {
106
+ List<Integer > t = new ArrayList<> ();
107
+ for (int i = 0 ; i < n; ++ i) {
108
+ if (((mask >> i) & 1 ) == 1 ) {
109
+ t. add(nums[i]);
110
+ }
111
+ }
112
+ ans. add(t);
113
+ }
114
+ return ans;
115
+ }
116
+ }
117
+ ```
118
+
87
119
### ** C++**
88
120
89
121
``` cpp
@@ -110,6 +142,30 @@ public:
110
142
};
111
143
```
112
144
145
+ ```cpp
146
+ class Solution {
147
+ public:
148
+ vector<vector<int>> subsets(vector<int>& nums) {
149
+ vector<vector<int>> ans;
150
+ vector<int> t;
151
+ int n = nums.size();
152
+ for (int mask = 0; mask < 1 << n; ++mask)
153
+ {
154
+ t.clear();
155
+ for (int i = 0; i < n; ++i)
156
+ {
157
+ if ((mask >> i) & 1)
158
+ {
159
+ t.push_back(nums[i]);
160
+ }
161
+ }
162
+ ans.push_back(t);
163
+ }
164
+ return ans;
165
+ }
166
+ };
167
+ ```
168
+
113
169
### ** Go**
114
170
115
171
``` go
@@ -132,6 +188,23 @@ func subsets(nums []int) [][]int {
132
188
}
133
189
```
134
190
191
+ ``` go
192
+ func subsets (nums []int ) [][]int {
193
+ var ans [][]int
194
+ n := len (nums)
195
+ for mask := 0 ; mask < 1 <<n; mask++ {
196
+ t := []int {}
197
+ for i , v := range nums {
198
+ if ((mask >> i) & 1 ) == 1 {
199
+ t = append (t, v)
200
+ }
201
+ }
202
+ ans = append (ans, t)
203
+ }
204
+ return ans
205
+ }
206
+ ```
207
+
135
208
### ** Rust**
136
209
137
210
``` rust
Original file line number Diff line number Diff line change @@ -209,8 +209,7 @@ var maximumRequests = function (n, requests) {
209
209
let d = new Array (n).fill (0 );
210
210
for (let i = 0 ; i < m; ++ i) {
211
211
if ((x >> i) & 1 ) {
212
- const f = requests[i][0 ];
213
- const t = requests[i][1 ];
212
+ const [f , t ] = requests[i];
214
213
d[f]-- ;
215
214
d[t]++ ;
216
215
}
Original file line number Diff line number Diff line change @@ -192,8 +192,7 @@ var maximumRequests = function (n, requests) {
192
192
let d = new Array (n).fill (0 );
193
193
for (let i = 0 ; i < m; ++ i) {
194
194
if ((x >> i) & 1 ) {
195
- const f = requests[i][0 ];
196
- const t = requests[i][1 ];
195
+ const [f , t ] = requests[i];
197
196
d[f]-- ;
198
197
d[t]++ ;
199
198
}
Original file line number Diff line number Diff line change @@ -8,8 +8,7 @@ var maximumRequests = function (n, requests) {
8
8
let d = new Array ( n ) . fill ( 0 ) ;
9
9
for ( let i = 0 ; i < m ; ++ i ) {
10
10
if ( ( x >> i ) & 1 ) {
11
- const f = requests [ i ] [ 0 ] ;
12
- const t = requests [ i ] [ 1 ] ;
11
+ const [ f , t ] = requests [ i ] ;
13
12
d [ f ] -- ;
14
13
d [ t ] ++ ;
15
14
}
You can’t perform that action at this time.
0 commit comments