lt.406. 根据身高重建队列
[案例需求]
[思路分析]
[代码实现]
class Solution {
public int[][] reconstructQueue(int[][] people) {
//1. 先按身高排队(从大到小), 并且对于同一身高的, k小的放前面
Arrays.sort(people, new Comparator(){
public int compare(int[] arr1, int[] arr2){
if(arr1[0] == arr2[0])return arr1[1] - arr2[1];
return arr2[0] - arr1[0];
}
});
//2. 我们从身高最高处(左边), 按照k的值依次插入到合适的位置
int rowLen = people.length;
int colLen = people[0].length;
LinkedList queue = new LinkedList<>();
for(int[] p : people){
queue.add(p[1], p);
}
// for(int i = 0; i < rowLen; i++){
// int targetIndex = people[i][1];
// System.out.println(targetIndex);
// if(targetIndex == i)continue;
// //两个数组相互交换位置
// int[] temp = people[i];
// people[i] = people[targetIndex];
// people[targetIndex] = temp;
// }
//return people;
return queue.toArray(new int[people.length][]);
}
}
lt.240-搜索二维矩阵 ||
[案例需求]
[思路分析]
[代码实现]
lt.240-搜索二维矩阵 ||
[案例需求]
[思路分析]
[代码实现]