提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
977. 有序数组的平方
题目链接
https://leetcode-cn.com/problems/squares-of-a-sorted-array/
思路
- 1.原数组每个数得出平方后的结果
- 2.将平方后的数组进行排序
题解
- js
var sortedSquares = function (nums) {
nums = nums.map(item => item * item)
nums.sort((a, b) => a * a - b * b)
return nums
};
268. 丢失的数字
题目链接
https://leetcode-cn.com/problems/missing-number/
思路
- 1.将数组排序
- 2.因为边界是10的4次方,所以依次枚举,只要索引不等于当前数,就一定是缺失的数
题解
- js
var missingNumber = function (nums) {
nums.sort((a, b) => a - b)
for (let i = 0; i < 100000; i++) {
if (i != nums[i]) return i
}
};
1877. 数组中最大数对和的最小值
题目链接
https://leetcode-cn.com/problems/minimize-maximum-pair-sum-in-array/submissions/
思路
- 1.将所有数组排序
- 2.将第一个数与倒数第一相加,第二个与倒数第二相加,以此类推得出最大值
题解
- js
var minPairSum = function (nums) {
let i = 0, j = nums.length-1, sum = 0
nums.sort((a, b) => a - b)
while (i < j) {
sum = Math.max(sum, nums[i] + nums[j])
i++
j--
}
return sum
};
950. 按递增顺序显示卡牌
题目链接
https://leetcode-cn.com/problems/reveal-cards-in-increasing-order/
思路
- 1 将数组排序
- 2.初始结果数组全部为空,然后从头开始,每次间隔一个空位插入元素
题解
- js
var deckRevealedIncreasing = function(deck) {
deck.sort((a,b) => a-b);
let res = deck.slice().fill(0);
res[0] = deck[0];
let c = 0;
for (let i=1; i<deck.length-1; i++) {
let found = 0;
while (true) {
if (res[c] === 0) {
found += 1;
if (found === 2) {
res[c] = deck[i];
break;
}
}
c = (c+1) % deck.length;
}
}
for (let i=0; i<deck.length; i++) {
if(res[i] === 0) res[i] = deck[deck.length-1];
}
return res;
};