作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
问题来了:
https://leetcode.com/problems/queue-reconstruction-by-height/
假设您有一个随机列表,其中包含排队的人。每个人都用一对整数(h,k)来描述,其中h是这个人的高度,k是这个人前面高度大于或等于h的人数。编写一个算法来重建队列。
注意:人数不到1100人。
例子:
Input:
[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]
Output:
[[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]]
这是我使用 javascript 的回答:
var reconstructQueue = function(people) {
var result= [];
people.sort((a,b)=>a[1]-b[1]).sort((a,b)=>b[0]-a[0]);
for(var i=0; i<people.length; i++) {
result.splice(people[i][1], 0, people[i]);
}
return result;
};
它可以通过上面的测试,但是为什么它没有通过 Leetcode 中的所有测试?谁能帮帮我?
最佳答案
您应用了两次排序,但它不正确,因为您第一次按 1 索引对队列排序,然后按 0 索引排序。如果 a 和 b 具有相同的高度,则必须对队列进行一次排序并按 1 索引排序,如果它们具有不同的高度,则必须按 0 索引排序您的排序功能将是
people.sort(function(a,b){
if(a[0]==b[0]){
return a[1]-b[1];
}
else{
return b[0]-a[0];
}
});
使用箭头函数
people.sort((a,b)=>a[0]==b[0]?a[1]-b[1]:b[0]-a[0]);
关于javascript - 406(力扣)。按高度重建队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41653661/
有没有办法可以清除 iPhone 应用程序的钥匙串(keychain)?清除命令或所有键的列表,以便我可以自己删除它们。 最佳答案 不存在清除命令之类的东西。 无论如何,由于您的应用程序可以访问的钥匙
我是一名优秀的程序员,十分优秀!