File tree Expand file tree Collapse file tree 5 files changed +97
-0
lines changed
longest-consecutive-sequence Expand file tree Collapse file tree 5 files changed +97
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * @param {number[] } nums
3+ * @return {boolean }
4+ */
5+ var containsDuplicate = function ( nums ) {
6+ let count = [ nums [ 0 ] ] ;
7+ for ( let i = 1 ; i < nums . length ; i ++ ) {
8+ if ( count . includes ( nums [ i ] ) ) {
9+ return true ;
10+ } else {
11+ count . push ( nums [ i ] ) ;
12+ }
13+ }
14+ return false ;
15+ } ;
Original file line number Diff line number Diff line change 1+ /**
2+ * @param {number[] } nums
3+ * @return {number }
4+ */
5+ var rob = function ( nums ) {
6+ if ( nums . length <= 1 ) {
7+ if ( nums . length === 0 ) {
8+ return 0 ;
9+ } else {
10+ return nums [ 0 ] ;
11+ }
12+ }
13+
14+ const arr = new Array ( nums . length + 1 ) ;
15+ arr [ 0 ] = 0 ;
16+ arr [ 1 ] = nums [ 0 ] ;
17+ for ( let i = 2 ; i < arr . length ; i ++ ) {
18+ arr [ i ] = Math . max ( arr [ i - 1 ] , arr [ i - 2 ] + nums [ i - 1 ] ) ;
19+ }
20+ return arr [ arr . length - 1 ] ;
21+ } ;
Original file line number Diff line number Diff line change 1+ /**
2+ * @param {number[] } nums
3+ * @return {number }
4+ */
5+ var longestConsecutive = function ( nums ) {
6+ if ( nums . length === 0 ) {
7+ return 0 ;
8+ }
9+ const set = new Set ( nums ) ;
10+ const uniquiArr = [ ...set ] ;
11+ uniquiArr . sort ( ( a , b ) => a - b ) ;
12+ const lengthArr = [ 1 ] ;
13+ for ( let i = 1 ; i < uniquiArr . length ; i ++ ) {
14+ if ( uniquiArr [ i - 1 ] + 1 === uniquiArr [ i ] ) {
15+ const last = lengthArr [ lengthArr . length - 1 ] + 1 ;
16+ lengthArr . pop ( ) ;
17+ lengthArr . push ( last ) ;
18+ } else {
19+ lengthArr . push ( 1 ) ;
20+ }
21+ }
22+ return Math . max . apply ( null , lengthArr ) ;
23+ } ;
Original file line number Diff line number Diff line change 1+ /**
2+ * @param {number[] } nums
3+ * @param {number } k
4+ * @return {number[] }
5+ */
6+ var topKFrequent = function ( nums , k ) {
7+ const obj = { } ;
8+ for ( let i = 0 ; i < nums . length ; i ++ ) {
9+ if ( Object . keys ( obj ) . includes ( String ( nums [ i ] ) ) ) {
10+ obj [ nums [ i ] ] = obj [ nums [ i ] ] + 1 ;
11+ } else {
12+ obj [ nums [ i ] ] = 1 ;
13+ }
14+ }
15+
16+ const keysArr = Object . keys ( obj ) ;
17+ const sortedObj = keysArr
18+ . sort ( ( a , b ) => obj [ b ] - obj [ a ] )
19+ . slice ( 0 , k )
20+ . map ( ( num ) => Number ( num ) ) ;
21+ return sortedObj ;
22+ } ;
Original file line number Diff line number Diff line change 1+ /**
2+ * @param {number[] } nums
3+ * @param {number } target
4+ * @return {number[] }
5+ */
6+ var twoSum = function ( nums , target ) {
7+ let result = [ ] ;
8+ for ( let i = 0 ; i < nums . length ; i ++ ) {
9+ for ( let j = i + 1 ; j < nums . length ; j ++ ) {
10+ if ( nums [ i ] + nums [ j ] === target ) {
11+ result = [ i , j ] ;
12+ }
13+ }
14+ }
15+ return result ;
16+ } ;
You can’t perform that action at this time.
0 commit comments