File tree Expand file tree Collapse file tree 2 files changed +67
-0
lines changed Expand file tree Collapse file tree 2 files changed +67
-0
lines changed Original file line number Diff line number Diff line change
1
+ /*
2
+ * 시간복잡도 O(n)
3
+ * 공간복잡도 O(n)
4
+ */
5
+ class Solution {
6
+ public boolean containsDuplicate (int [] nums ) {
7
+ Set <Integer > set = new HashSet <>();
8
+
9
+ for (int n : nums ) {
10
+ if (set .contains (n )){
11
+ return true ;
12
+ }
13
+ set .add (n );
14
+ }
15
+ return false ;
16
+ }
17
+ }
18
+
19
+
Original file line number Diff line number Diff line change
1
+ import java .util .Map ;
2
+
3
+ class Solution {
4
+
5
+ /*
6
+ * 시간복잡ㄷ도 개선
7
+ *
8
+ * 시간복잡도 O(n)
9
+ * 공간복잡도 O(n)
10
+ */
11
+ public int [] twoSum (int [] nums , int target ) {
12
+ Map <Integer , Integer > arr = new HashMap <>();
13
+
14
+ for (int i =0 ; i <nums .length ; i ++) {
15
+ if (arr .containsKey (target -nums [i ])) {
16
+ return new int []{arr .get (target -nums [i ]), i };
17
+ }
18
+ arr .put (nums [i ], i );
19
+ }
20
+ return new int []{0 , 0 };
21
+ }
22
+
23
+
24
+
25
+ /*
26
+ * 기존 풀이
27
+ *
28
+ * 시간복잡도 O(n^2)
29
+ * 공간복잡도 O(1)
30
+ */
31
+
32
+ /*
33
+ public int[] twoSum(int[] nums, int target) {
34
+ int[] answer = new int[2];
35
+ for(int i=0; i<nums.length; i++) {
36
+ for(int j=i+1; j<nums.length; j++) {
37
+ if(nums[i]+nums[j]==target) {
38
+ answer[0]=i;
39
+ answer[1]=j;
40
+ return answer;
41
+ }
42
+ }
43
+ }
44
+ return answer;
45
+ }
46
+ */
47
+ }
48
+
You can’t perform that action at this time.
0 commit comments