File tree Expand file tree Collapse file tree 1 file changed +32
-0
lines changed Expand file tree Collapse file tree 1 file changed +32
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * @param {string[] } timePoints
3
+ * @return {number }
4
+ */
5
+ const findMinDifference = function ( timePoints ) {
6
+ const sortedArr = timePoints
7
+ . map ( el => {
8
+ const arr = el . trim ( ) . split ( ":" ) ;
9
+ return arr [ 0 ] === "00" && arr [ 1 ] === "00"
10
+ ? 24 * 60
11
+ : + arr [ 0 ] * 60 + + arr [ 1 ] ;
12
+ } )
13
+ . sort ( ( a , b ) => a - b ) ;
14
+ let prev = sortedArr [ 0 ] ;
15
+ let res = Number . MAX_SAFE_INTEGER ;
16
+ const mid = 12 * 60 ;
17
+ for ( let i = 1 ; i < sortedArr . length ; i ++ ) {
18
+ res = Math . min ( res , Math . abs ( sortedArr [ i ] - prev ) ) ;
19
+ prev = sortedArr [ i ] ;
20
+ }
21
+ if ( sortedArr [ 0 ] < mid && sortedArr [ sortedArr . length - 1 ] > mid ) {
22
+ res = Math . min (
23
+ res ,
24
+ sortedArr [ 0 ] + 2 * mid - sortedArr [ sortedArr . length - 1 ]
25
+ ) ;
26
+ }
27
+ return res ;
28
+ } ;
29
+
30
+ console . log ( findMinDifference ( [ "23:59" , "00:00" ] ) ) ;
31
+ console . log ( findMinDifference ( [ "12:12" , "00:13" ] ) ) ;
32
+ console . log ( findMinDifference ( [ "05:31" , "22:08" , "00:35" ] ) ) ;
You can’t perform that action at this time.
0 commit comments