File tree Expand file tree Collapse file tree 1 file changed +38
-0
lines changed
Problems/16-Minimum-Sum-of-Four-Digit-Number-After-Splitting-Digits Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Original file line number Diff line number Diff line change
1
+
2
+
3
+ // minimum sum of any length of number.
4
+ function minimumSum ( num : number ) : number {
5
+ const str = num . toString ( ) . split ( '' ) ;
6
+ let digits = str . map ( Number ) ;
7
+ digits . sort ( ( a , b ) => a - b ) ;
8
+
9
+ for ( let i = 0 ; i < digits . length ; i ++ ) {
10
+ if ( digits [ i ] !== 0 ) {
11
+ digits = digits . slice ( i )
12
+ break ;
13
+ }
14
+ }
15
+ let p1 = 0 , p2 = 1 ;
16
+ let num1 : number [ ] = [ ] ;
17
+ let num2 : number [ ] = [ ] ;
18
+ while ( digits [ p1 ] ) {
19
+ num1 . push ( digits [ p1 ] ) ;
20
+ if ( p2 < digits . length ) {
21
+ num2 . push ( digits [ p2 ] )
22
+ }
23
+ p1 += 2 ;
24
+ p2 += 2 ;
25
+ }
26
+ return Num ( num1 ) + Num ( num2 ) ;
27
+
28
+ function Num ( digits : number [ ] ) : number {
29
+ let res : number = 0 ;
30
+ let len = digits . length - 1 ;
31
+ for ( let i = 0 ; i < digits . length ; i ++ ) {
32
+ res += Math . pow ( 10 , len ) * digits [ i ] ;
33
+ len -- ;
34
+ }
35
+ return res ;
36
+ }
37
+
38
+ } ;
You can’t perform that action at this time.
0 commit comments