模拟
矩阵从小到大排序,当1的数字相同时,索引小的行排在前面,所以在矩阵的最后一列增加一个当前所在行的所以,直接用vector内置的比较函数进行比较。最后统计结果时,直接返回最后一行的索引。
class Solution {
public:
vector<int> kWeakestRows(vector<vector<int>>& mat, int k) {
int m = mat.size();
if(!m) return {};
int n = mat[0].size();
for(int i = 0; i < m; i++) mat[i].push_back(i);
sort(mat.begin(), mat.end());
vector<int> res;
for(int i = 0; i < k; i++){
res.push_back(mat[i][n]);
}
return res;
}
};