LeetCode 1337矩阵中战斗力最弱的K行[自定义排序] HERODING的LeetCode之路
Posted HERODING23
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 1337矩阵中战斗力最弱的K行[自定义排序] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。
解题思路:
一个标准的排序问题,根据下标进行排序,创新点在于排序的内容是与其他数组相关,所以解决方案是我们先获取所有行数的下标,对于下标的排序,通过自定义排序函数进行,代码如下:
class Solution {
public:
vector<int> kWeakestRows(vector<vector<int>>& mat, int k) {
int len = mat.size();
vector<int> res;
for(int i = 0; i < len; i ++) {
res.push_back(i);
}
// 自定义排序
sort(res.begin(), res.end(), [&](const int& a, const int& b) {
return mat[a] == mat[b] ? a < b : mat[a] < mat[b];
});
vector<int> ans(res.begin(), res.begin() + k);
return ans;
}
};
以上是关于LeetCode 1337矩阵中战斗力最弱的K行[自定义排序] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode Algorithm 1337. 矩阵中战斗力最弱的 K 行
Python描述 LeetCode 1337. 矩阵中战斗力最弱的 K 行
LeetCode 1337矩阵中战斗力最弱的K行[自定义排序] HERODING的LeetCode之路
LeetCode 1337. 矩阵中战斗力最弱的 K 行/215. 数组中的第K个最大元素(topk快排堆排)/743. 网络延迟时间(最短路径迪杰斯特拉,弗洛伊德)