网站建设是前端么,一级a做爰片就在线手机看韩国网站,企业信息填报年报填写,苏州建设网站电话文章目录题目描述思路 代码二刷题目描述
老阅读题了 #xff0c;第一遍看题的时候一脸懵逼但其实代码就6行#xff08;嘿嘿#xff09;
思路 代码
先按照身高降序排#xff0c;再按照人数升序排#xff08;套路题#xff09;
class Solution…
文章目录题目描述思路 代码二刷题目描述
老阅读题了 第一遍看题的时候一脸懵逼但其实代码就6行嘿嘿
思路 代码
先按照身高降序排再按照人数升序排套路题
class Solution {public int[][] reconstructQueue(int[][] people) {// 身高降序人数升序Arrays.sort(people, (p1, p2) - ((p1[0] p2[0] ? p1[1] - p2[1] : p2[0] - p1[0])));Listint[] ans new ArrayList();// 排序后的数组按照【前面的人数个数】进行插入即可for(int[] temp : people) {ans.add(temp[1], temp);}return ans.toArray(new int[ans.size()][]);}
}
// 主要原理考虑后效性较大元素的 ki 值实际上和较小值无关。无注释版
class Solution {public int[][] reconstructQueue(int[][] people) {Arrays.sort(people, (p1, p2) - ((p1[0] p2[0] ? p1[1] - p2[1] : p2[0] - p1[0])));Listint[] ans new ArrayList();for(int[] temp : people) {ans.add(temp[1], temp);}return ans.toArray(new int[ans.size()][]);}
}二刷
这类题写着还是舒服代码少
class Solution {public int[][] reconstructQueue(int[][] people) {// 身高逆序人数正序Arrays.sort(people, (int[] a, int[] b) - (a[0] b[0] ? a[1] - b[1] : b[0] - a[0]));Listint[] ans new ArrayList();// 高的先插按照前面的人个数进行插入往后更矮 or 人数更多的人不会改变之前的数组的人数正确性无后效性for(int[] temp : people) {ans.add(temp[1], temp);}return ans.toArray(new int[ans.size()][]);}
}