File tree Expand file tree Collapse file tree 5 files changed +158
-0
lines changed
longest-consecutive-sequence Expand file tree Collapse file tree 5 files changed +158
-0
lines changed Original file line number Diff line number Diff line change
1
+ import java .util .HashMap ;
2
+ import java .util .Map ;
3
+
4
+ public class runnz121 {
5
+
6
+ public class Solution {
7
+
8
+ public boolean containsDuplicate (int [] nums ) {
9
+
10
+ Map <Integer , Integer > countMap = new HashMap <>();
11
+
12
+ for (int i = 0 ; i < nums .length ; i ++) {
13
+ countMap .put (nums [i ], countMap .getOrDefault (nums [i ] , 0 ) + 1 );
14
+ }
15
+
16
+ for (Map .Entry <Integer , Integer > map : countMap .entrySet ()) {
17
+ if (map .getValue () >= 2 ) {
18
+ return true ;
19
+ }
20
+ }
21
+
22
+ return false ;
23
+ }
24
+ }
25
+ }
Original file line number Diff line number Diff line change
1
+ import java .util .Arrays ;
2
+
3
+ public class runnz121 {
4
+
5
+ public class Solution {
6
+ public int rob (int [] nums ) {
7
+
8
+ if (nums .length == 1 ) {
9
+ return nums [0 ];
10
+ }
11
+
12
+ int [] dp = new int [nums .length ];
13
+
14
+ dp [0 ] = nums [0 ];
15
+ dp [1 ] = Math .max (nums [1 ], nums [0 ]);
16
+ for (int i = 2 ; i < nums .length ; i ++) {
17
+ int comp1 = Math .max (nums [i ] + dp [i - 2 ], dp [i ] + nums [i - 2 ]);
18
+ dp [i ] = Math .max (comp1 , dp [i - 1 ]);
19
+ }
20
+
21
+ return Arrays .stream (dp ).max ().stream ().findFirst ().orElse (Math .max (dp [0 ], dp [1 ]));
22
+ }
23
+ }
24
+ }
Original file line number Diff line number Diff line change
1
+ import java .util .*;
2
+ import java .util .stream .Collectors ;
3
+
4
+ public class runnz121 {
5
+
6
+ public class Solution {
7
+
8
+ public int longestConsecutive (int [] nums ) {
9
+
10
+ if (nums .length == 0 ) {
11
+ return 0 ;
12
+ }
13
+
14
+ Set <Integer > collect = Arrays .stream (nums ).boxed ().collect (Collectors .toSet ());
15
+ int [] array = collect .stream ().mapToInt (Integer ::intValue ).toArray ();
16
+
17
+ List <Integer > minus = new ArrayList <>();
18
+ List <Integer > plus = new ArrayList <>();
19
+
20
+ for (int i = 0 ; i < collect .size (); i ++) {
21
+
22
+ if (array [i ] < 0 ) {
23
+ minus .add (array [i ]);
24
+ } else {
25
+ plus .add (array [i ]);
26
+ }
27
+ }
28
+
29
+ Collections .sort (minus );
30
+ Collections .sort (plus );
31
+
32
+ List <Integer > total = new ArrayList <>();
33
+ total .addAll (minus );
34
+ total .addAll (plus );
35
+
36
+ int ans = 0 ;
37
+ int subAns = 1 ;
38
+ for (int i = 0 ; i < total .size () - 1 ; i ++) {
39
+ if (total .get (i + 1 ) == total .get (i ) + 1 ) {
40
+ subAns += 1 ;
41
+ } else {
42
+ ans = Math .max (subAns , ans );
43
+ subAns = 1 ;
44
+ }
45
+ }
46
+
47
+ ans = Math .max (ans , subAns );
48
+
49
+ return ans ;
50
+ }
51
+ }
52
+ }
Original file line number Diff line number Diff line change
1
+ import java .util .HashMap ;
2
+ import java .util .Map ;
3
+ import java .util .PriorityQueue ;
4
+
5
+ public class runnz121 {
6
+
7
+ public class Solution {
8
+
9
+ public int [] topKFrequent (int [] nums , int k ) {
10
+
11
+ Map <Integer , Integer > map = new HashMap <>();
12
+
13
+ for (int i = 0 ; i < nums .length ; i ++) {
14
+ map .put (nums [i ], map .getOrDefault (nums [i ], 0 ) + 1 );
15
+ }
16
+
17
+ PriorityQueue <Integer > maxPq = new PriorityQueue <>(
18
+ (a , b ) -> map .get (b ) - map .get (a )
19
+ );
20
+
21
+ maxPq .addAll (map .keySet ());
22
+
23
+ int [] result = new int [k ];
24
+
25
+ for (int i = 0 ; i < k ; i ++) {
26
+ result [i ] = maxPq .poll ();
27
+ }
28
+ return result ;
29
+ }
30
+ }
31
+ }
Original file line number Diff line number Diff line change
1
+ import java .util .HashMap ;
2
+ import java .util .Map ;
3
+
4
+ public class runnz121 {
5
+
6
+ public class Solution {
7
+
8
+ public int [] twoSum (int [] nums , int target ) {
9
+
10
+ Map <Integer , Integer > map = new HashMap <>();
11
+
12
+ for (int i = 0 ; i < nums .length ; i ++) {
13
+
14
+ int remain = target - nums [i ];
15
+
16
+ if (map .containsKey (remain )) {
17
+ return new int []{map .get (remain ), i };
18
+ }
19
+
20
+ map .put (nums [i ], i );
21
+ }
22
+
23
+ return new int []{0 , 0 };
24
+ }
25
+ }
26
+ }
You can’t perform that action at this time.
0 commit comments