File tree Expand file tree Collapse file tree 1 file changed +35
-0
lines changed
Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Original file line number Diff line number Diff line change 1+ class Solution {
2+ public boolean containsDuplicate (int [] nums ) {
3+ /**
4+ * Constraints
5+ * - 1 <= nums[] <= 10^5
6+ * - -10^9 <= nums[i] <= 10^9
7+ *
8+ * Output
9+ * - true : 중복 값 존재
10+ * - false : 모든 값이 유일
11+ */
12+
13+ // 해결법 1 (HashMap 방식 - HashSet 유사)
14+ // 시간복잡도: O(N), 공간 복잡도 : O(N)
15+ Map <Integer , Integer > countMap = new HashMap <>();
16+
17+ for (int num : nums ) {
18+ int count = countMap .getOrDefault (num , 0 ) + 1 ;
19+ if (count > 1 ) return true ;
20+ countMap .put (num , count );
21+ }
22+
23+ return false ;
24+
25+ // 해결법 2 (정렬)
26+ // 시간 복잡도 : O(N log N), 공간 복잡도 : O(1)
27+ Arrays .sort (nums );
28+
29+ for (int i = 0 ; i < nums .length - 1 ; i ++) {
30+ if (nums [i ] == nums [i + 1 ]) return true ;
31+ }
32+
33+ return false ;
34+ }
35+ }
You can’t perform that action at this time.
0 commit comments