File tree Expand file tree Collapse file tree 4 files changed +48
-0
lines changed
longest-consecutive-sequence Expand file tree Collapse file tree 4 files changed +48
-0
lines changed Original file line number Diff line number Diff line change 1+ function containsDuplicate ( nums : number [ ] ) : boolean {
2+ const map = new Map < number , number > ( ) ;
3+
4+ for ( let i = 0 ; i < nums . length ; i ++ ) {
5+ if ( map . has ( nums [ i ] ) ) return true ;
6+ map . set ( nums [ i ] , 1 ) ;
7+ }
8+ return false ;
9+ }
Original file line number Diff line number Diff line change 1+ function longestConsecutive ( nums : number [ ] ) : number {
2+ const set = new Set < number > ( nums ) ;
3+ let result = 0 ;
4+
5+ for ( const num of set ) {
6+ if ( set . has ( num - 1 ) ) continue ;
7+ let length = 1 ;
8+ while ( set . has ( num + length ) ) length ++ ;
9+ result = Math . max ( length , result ) ;
10+ }
11+
12+ return result ;
13+ }
Original file line number Diff line number Diff line change 1+ function topKFrequent ( nums : number [ ] , k : number ) : number [ ] {
2+ const map : Map < number , number > = new Map ( ) ;
3+
4+ nums . forEach ( ( val ) => {
5+ if ( map . has ( val ) ) map . set ( val , map . get ( val ) ! ! + 1 ) ;
6+ else map . set ( val , 1 ) ;
7+ } ) ;
8+
9+ return Array . from ( map )
10+ . sort ( ( a , b ) => b [ 1 ] - a [ 1 ] )
11+ . slice ( 0 , k )
12+ . map ( ( item ) => item [ 0 ] ) ;
13+ }
Original file line number Diff line number Diff line change 1+ function twoSum ( nums : number [ ] , target : number ) : number [ ] {
2+ const result : number [ ] = [ ] ;
3+
4+ for ( let i = 0 ; i < nums . length ; i ++ ) {
5+ for ( let j = i + 1 ; j < nums . length ; j ++ ) {
6+ if ( nums [ i ] + nums [ j ] === target ) {
7+ result . push ( i , j ) ;
8+ }
9+ }
10+ }
11+
12+ return result ;
13+ }
You can’t perform that action at this time.
0 commit comments