File tree Expand file tree Collapse file tree 3 files changed +103
-6
lines changed
solution/1300-1399/1337.The K Weakest Rows in a Matrix Expand file tree Collapse file tree 3 files changed +103
-6
lines changed Original file line number Diff line number Diff line change @@ -156,10 +156,42 @@ function kWeakestRows(mat: number[][], k: number): number[] {
156
156
}
157
157
```
158
158
159
- ### ** ...**
160
-
161
- ```
159
+ ### ** C++**
162
160
161
+ ``` cpp
162
+ class Solution {
163
+ public:
164
+ int search(vector<int >& m)
165
+ {
166
+ int l = 0;
167
+ int h = m.size() - 1;
168
+ while (l <= h)
169
+ {
170
+ int mid = l + (h - l) / 2;
171
+ if (m[ mid] == 0)
172
+ h = mid - 1;
173
+ else
174
+ l = mid + 1;
175
+ }
176
+ return l;
177
+ }
178
+
179
+ vector<int > kWeakestRows(vector<vector<int >>& mat, int k) {
180
+ vector<pair<int, int>> p;
181
+ vector<int > res;
182
+ for (int i = 0; i < mat.size(); i++)
183
+ {
184
+ int count = search(mat[ i] );
185
+ p.push_back({count, i});
186
+ }
187
+ sort(p.begin(), p.end());
188
+ for (int i = 0; i < k; i++)
189
+ {
190
+ res.push_back(p[ i] .second);
191
+ }
192
+ return res;
193
+ }
194
+ };
163
195
```
164
196
165
197
<!-- tabs:end -->
Original file line number Diff line number Diff line change @@ -149,10 +149,42 @@ function kWeakestRows(mat: number[][], k: number): number[] {
149
149
}
150
150
```
151
151
152
- ### ** ...**
153
-
154
- ```
152
+ ### ** C++**
155
153
154
+ ``` cpp
155
+ class Solution {
156
+ public:
157
+ int search(vector<int >& m)
158
+ {
159
+ int l = 0;
160
+ int h = m.size() - 1;
161
+ while (l <= h)
162
+ {
163
+ int mid = l + (h - l) / 2;
164
+ if (m[ mid] == 0)
165
+ h = mid - 1;
166
+ else
167
+ l = mid + 1;
168
+ }
169
+ return l;
170
+ }
171
+
172
+ vector<int > kWeakestRows(vector<vector<int >>& mat, int k) {
173
+ vector<pair<int, int>> p;
174
+ vector<int > res;
175
+ for (int i = 0; i < mat.size(); i++)
176
+ {
177
+ int count = search(mat[ i] );
178
+ p.push_back({count, i});
179
+ }
180
+ sort(p.begin(), p.end());
181
+ for (int i = 0; i < k; i++)
182
+ {
183
+ res.push_back(p[ i] .second);
184
+ }
185
+ return res;
186
+ }
187
+ };
156
188
```
157
189
158
190
<!-- tabs:end -->
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public:
3
+ int search (vector<int >& m)
4
+ {
5
+ int l = 0 ;
6
+ int h = m.size () - 1 ;
7
+ while (l <= h)
8
+ {
9
+ int mid = l + (h - l) / 2 ;
10
+ if (m[mid] == 0 )
11
+ h = mid - 1 ;
12
+ else
13
+ l = mid + 1 ;
14
+ }
15
+ return l;
16
+ }
17
+
18
+ vector<int > kWeakestRows (vector<vector<int >>& mat, int k) {
19
+ vector<pair<int , int >> p;
20
+ vector<int > res;
21
+ for (int i = 0 ; i < mat.size (); i++)
22
+ {
23
+ int count = search (mat[i]);
24
+ p.push_back ({count, i});
25
+ }
26
+ sort (p.begin (), p.end ());
27
+ for (int i = 0 ; i < k; i++)
28
+ {
29
+ res.push_back (p[i].second );
30
+ }
31
+ return res;
32
+ }
33
+ };
You can’t perform that action at this time.
0 commit comments