-
-
Couldn't load subscription status.
- Fork 245
[std-freejia] week 01 solutions #1716
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| class Solution { | ||
| public boolean containsDuplicate(int[] nums) { | ||
| Set<Integer> set = new HashSet<>(); | ||
|
|
||
| for (int i = 0; i < nums.length; i++) { | ||
| if (i > 0 && set.contains(nums[i])) { | ||
| return true; | ||
| } | ||
| set.add(nums[i]); | ||
| } | ||
| return false; | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| class Solution { | ||
| public int rob(int[] nums) { | ||
| int numsLen = nums.length; | ||
| int[] dp = new int[numsLen]; | ||
|
|
||
| if (numsLen == 1) return nums[0]; | ||
| dp[0] = nums[0]; | ||
| dp[1] = Math.max(nums[0], nums[1]); | ||
|
|
||
| for (int i = 2; i < numsLen; i++){ | ||
| dp[i] = Math.max(dp[i-2] + nums[i], dp[i-1]); | ||
| } | ||
| return dp[numsLen-1]; | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| /** 시간초과 발생합니다. 해법 찾는 중입니다 */ | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 돌려보진 않았지만 이중 포문 때문에 나는 것 같네요! 파이팅입니다! There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 네 감사합니다! 다시 해보겠습니다! |
||
| class Solution { | ||
| public int longestConsecutive(int[] nums) { | ||
|
|
||
| Set<Integer> uniqueNum = new HashSet<>(); | ||
| for (int num : nums) { // 수열 내 중복 숫자 제거 | ||
| uniqueNum.add(num); | ||
| } | ||
|
|
||
| int uniqueLen = uniqueNum.size(); | ||
| int longest = 0; | ||
|
|
||
| for(int targetNum: uniqueNum){ | ||
|
|
||
| int n = 1; | ||
| for(int j = targetNum + 1; j < targetNum + uniqueLen; j++) { | ||
| if (!uniqueNum.contains(j)) break; | ||
| n++; | ||
| } | ||
| longest = Math.max(n, longest); | ||
|
|
||
| } | ||
| return longest; | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| class Solution { | ||
| public int[] topKFrequent(int[] nums, int k) { | ||
| Map<Integer, Integer> map = new HashMap<>(); | ||
| for (int i = 0; i < nums.length; i++) { | ||
| map.put(nums[i], map.getOrDefault(nums[i], 0) + 1); | ||
| } | ||
| // value 를 기준으로 정렬 | ||
| List<Map.Entry<Integer, Integer>> entrySet = new ArrayList<>(map.entrySet()); | ||
| entrySet.sort((a, b) -> b.getValue().compareTo(a.getValue())); | ||
|
|
||
| int[] result = new int[k]; | ||
| for (int i = 0; i < k; i++) { | ||
|
|
||
| result[i] = entrySet.get(i).getKey(); | ||
| } | ||
| return result; | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| class Solution { | ||
| public static int[] twoSum(int[] nums, int target) { | ||
| HashMap<Integer, Integer> map = new HashMap<>(); | ||
|
|
||
| for (int first = 0; first < nums.length; first++) { | ||
| int targetKey = target - nums[first]; | ||
| if (map.containsKey(targetKey)) { | ||
| int second = map.get(targetKey); | ||
| return new int[]{second, first}; | ||
| } | ||
| map.put(nums[first], first); | ||
| } | ||
|
|
||
| return null; | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
저는 해시맵으로 풀었는데 Set가 문제의 의도와 맞는 것 같네요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
리뷰 감사합니다!