Skip to content

Commit 6e3400a

Browse files
authored
Merge pull request doocs#149 from Mcnwork2018/dev
Add solution 0977 solution.js
2 parents b538a5f + 8474fb7 commit 6e3400a

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/**
2+
* @param {number[]} A
3+
* @return {number[]}
4+
*/
5+
6+
// 第一种解法
7+
var sortedSquares = function(A) {
8+
let results = A.map((item, index, array) => {
9+
return item *= item;
10+
});
11+
results.sort((v1, v2) => {
12+
return v1 -v2;
13+
});
14+
return results;
15+
};
16+
// 第二种解法
17+
var sortedSquares = function(A){
18+
let len = A.length; // 数组长度
19+
let j = 0; // j 正数开始
20+
while(j < len && A[j] < 0){
21+
j++;
22+
};
23+
let i = j - 1; // i 负数开始
24+
let results = []; // 存放最终结果
25+
let t = 0; // results下标
26+
while(i >= 0 && j < len){
27+
if (A[i] * A[i] < A[j] * A[j]) {
28+
results[t++] = A[i] * A[i];
29+
i--;
30+
} else {
31+
results[t++] = A[j] * A[j];
32+
j++;
33+
}
34+
}
35+
while(i >= 0){
36+
results[t++] = A[i] * A[i];
37+
i--;
38+
}
39+
while(j < len){
40+
results[t++] = A[j] * A[j];
41+
j++;
42+
}
43+
return results;
44+
}

0 commit comments

Comments
 (0)