File tree Expand file tree Collapse file tree 1 file changed +12
-16
lines changed Expand file tree Collapse file tree 1 file changed +12
-16
lines changed Original file line number Diff line number Diff line change 2
2
* @param {number[] } nums
3
3
* @return {number[] }
4
4
*/
5
- var getSumAbsoluteDifferences = function ( nums ) {
6
- let left = 0
7
- let right = nums . length - 2
8
- let begin = 0
9
- for ( let i = 1 , len = nums . length ; i < len ; i ++ ) {
10
- begin += ( nums [ i ] - nums [ 0 ] )
11
- }
12
-
13
- const res = [ begin ]
14
- for ( let i = 1 , len = nums . length ; i < len ; i ++ ) {
15
- res . push ( res [ i - 1 ] - ( nums [ i ] - nums [ i - 1 ] ) * ( right - left ) )
16
- left += 1
17
- right -= 1
18
- }
19
-
20
- return res
5
+ const getSumAbsoluteDifferences = function ( nums ) {
6
+ const res = [ ] , n = nums . length
7
+ let first = 0
8
+ for ( let i = 1 ; i < n ; i ++ ) {
9
+ first += nums [ i ] - nums [ 0 ]
10
+ }
11
+ res [ 0 ] = first
12
+ for ( let i = 1 ; i < n ; i ++ ) {
13
+ res [ i ] = res [ i - 1 ] + ( nums [ i ] - nums [ i - 1 ] ) * i - ( nums [ i ] - nums [ i - 1 ] ) * ( n - i )
14
+ }
15
+
16
+ return res
21
17
} ;
You can’t perform that action at this time.
0 commit comments