/*
1337. 矩阵中战斗力最弱的 K 行
*/
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Solution1337 {
public int[] kWeakestRows(int[][] mat, int k) {
List<int[]> resList = new ArrayList<>();
int m = mat.length, n = mat[0].length;
int[] temp;
int num = 0;
for (int i = 0; i < m; i++) {
temp = new int[2];
temp[0] = i;
num = 0;
for (int j = 0; j < n; j++) {
if (mat[i][j] == 1) {
num++;
} else {
break;
}
}
temp[1] = num;
resList.add(temp);
}
Collections.sort(resList, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
return o1[1] == o2[1] ? o1[0] - o2[0] : o1[1] - o2[1];
}
});
int[] res = new int[k];
for (int i = 0; i < k; i++) {
res[i] = resList.get(i)[0];
}
return res;
}
public static void main(String[] args) {
int[][] mat = new int[][]{
{1,0,0,0},
{1,1,1,1},
{1,0,0,0},
{1,0,0,0}};
Solution1337 solution1337 = new Solution1337();
solution1337.kWeakestRows(mat, 3);
}
}
LeetCode--1337. 矩阵中战斗力最弱的 K 行
最新推荐文章于 2023-02-03 18:35:16 发布