LeetCode 406 Queue Reconstruction by Height
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 406 Queue Reconstruction by Height
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#LeetCode 406. Queue Reconstruction by Height
原題鏈接:
Queue Reconstruction by Height
###題目大意:
有一個由[h,k]組成的隨機的數組如下案例:
[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]
h表示高度,k表示在此之前,大于或等于此高度的元素數量。
要求排序為符合題目的數列,上述案例結果如下所示:
[[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]]
###解題思路:
很簡單的排序,但是有個很精巧的機關。
首先按照高度從大到小排序,相同的高度按照位置從小到大排序
然后從第一個開始插入到一個新數組中。此時很"湊巧"的,第二個k就是應該插入的位置。因為根據之前的排序,當前,新數組的所有元素都大于等于舊數組。
###AC代碼:
/*** 406. Queue Reconstruction by Height* @param peoples* @return*/public static int[][] reconstructQueue (int[][] peoples){Arrays.parallelSort(peoples, (a, b) -> a[0] != b[0] ? b[0] - a[0] : a[1] - b[1]);List<int[]> result = new ArrayList<>();for(int i=0;i<peoples.length;i++){result.add(peoples[i][1],peoples[i]);}return result.toArray(new int[0][0]);} 復制代碼總結
以上是生活随笔為你收集整理的LeetCode 406 Queue Reconstruction by Height的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 导航栏如何轻松搞定
- 下一篇: swift SDWebImage 与 U