class Solution {
public:
vector<int> kWeakestRows(vector<vector<int>>& mat, int k) {
vector<int> cnt;
for(int i=0;i<mat.size();i++){
int sum = 0;
for(int j=0;j<mat[0].size();j++){
sum += mat[i][j];
}
cnt.push_back(sum);
}
// return min->max index
map<int, vector<int>> res;
for(int i=0;i<cnt.size();i++){ // 2,4,1,2,5
int ans = cnt[i]; //
if (res.find(ans)==res.end()){
vector<int> indexes(1, i);
res[ans] = indexes;
}
else{
res[ans].push_back(i);
}
}
// return k indexs
vector<int> result;
for(auto it=res.begin();it!=res.end();it++){
vector<int> aa = it->second;
for(int i=0;i<aa.size()&&result.size()<k;i++){
result.push_back(aa[i]);
}
if(result.size()>=k){
break;
}
}
return result;
}
};
1337. The K Weakest Rows in a Matrix
最新推荐文章于 2022-03-27 17:48:15 发布