File tree Expand file tree Collapse file tree 1 file changed +22
-20
lines changed
solution/0977.Squares of a Sorted Array Expand file tree Collapse file tree 1 file changed +22
-20
lines changed Original file line number Diff line number Diff line change 2
2
* @param {number[] } A
3
3
* @return {number[] }
4
4
*/
5
-
5
+ /**
6
+ * Author: Mcnwork2018
7
+ */
6
8
// 第一种解法
7
9
var sortedSquares = function ( A ) {
8
10
let results = A . map ( ( item , index , array ) => {
9
- return item *= item ;
11
+ return item *= item ;
10
12
} ) ;
11
13
results . sort ( ( v1 , v2 ) => {
12
- return v1 - v2 ;
14
+ return v1 - v2 ;
13
15
} ) ;
14
16
return results ;
15
17
} ;
16
18
// 第二种解法
17
19
var sortedSquares = function ( A ) {
18
20
let len = A . length ; // 数组长度
19
21
let j = 0 ; // j 正数开始
20
- while ( j < len && A [ j ] < 0 ) {
21
- j ++ ;
22
- } ;
22
+ while ( j < len && A [ j ] < 0 ) {
23
+ j ++ ;
24
+ }
23
25
let i = j - 1 ; // i 负数开始
24
26
let results = [ ] ; // 存放最终结果
25
27
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
- }
28
+ while ( i >= 0 && j < len ) {
29
+ if ( A [ i ] * A [ i ] < A [ j ] * A [ j ] ) {
30
+ results [ t ++ ] = A [ i ] * A [ i ] ;
31
+ i -- ;
32
+ } else {
33
+ results [ t ++ ] = A [ j ] * A [ j ] ;
34
+ j ++ ;
35
+ }
34
36
}
35
- while ( i >= 0 ) {
36
- results [ t ++ ] = A [ i ] * A [ i ] ;
37
- i -- ;
37
+ while ( i >= 0 ) {
38
+ results [ t ++ ] = A [ i ] * A [ i ] ;
39
+ i -- ;
38
40
}
39
- while ( j < len ) {
40
- results [ t ++ ] = A [ j ] * A [ j ] ;
41
- j ++ ;
41
+ while ( j < len ) {
42
+ results [ t ++ ] = A [ j ] * A [ j ] ;
43
+ j ++ ;
42
44
}
43
45
return results ;
44
46
}
You can’t perform that action at this time.
0 commit comments