-
Notifications
You must be signed in to change notification settings - Fork 0
/
有序数组的平方.html
56 lines (48 loc) · 1.48 KB
/
有序数组的平方.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。
// 示例 1:
// 输入:nums = [-4,-1,0,3,10]
// 输出:[0,1,9,16,100]
// 解释:平方后,数组变为 [16,1,0,9,100]
// 排序后,数组变为 [0,1,9,16,100]
// 示例 2:
// 输入:nums = [-7,-3,2,3,11]
// 输出:[4,9,9,49,121]
</script>
<script>
/**
* @param {number[]} nums
* @return {number[]}
*/
var sortedSquares = function (nums) {
let len = nums.length
let res = Array(len)
let left = 0
let right = len - 1
let leftVal
let rightVal
for (let i = len - 1; i >= 0; i--) {
leftVal = nums[left] * nums[left]
rightVal = nums[right] * nums[right]
if (leftVal > rightVal) {
res[i] = leftVal
left++
} else {
res[i] = rightVal
right--
}
}
return res
};
</script>
</body>
</html>