diff --git a/contains-duplicate/sm9171.java b/contains-duplicate/sm9171.java new file mode 100644 index 000000000..caa3b5a84 --- /dev/null +++ b/contains-duplicate/sm9171.java @@ -0,0 +1,13 @@ +class Solution { + public boolean containsDuplicate(int[] nums) { + HashSet set = new HashSet<>(); + + for (int i = 0; i < nums.length; i++) { + if (set.contains(nums[i])) { + return true; + } + set.add(nums[i]); + } + return false; + } +} diff --git a/house-robber/sm9171.java b/house-robber/sm9171.java new file mode 100644 index 000000000..19f79037c --- /dev/null +++ b/house-robber/sm9171.java @@ -0,0 +1,14 @@ +class Solution { + public int rob(int[] nums) { + if (nums.length == 0) return 0; + if (nums.length == 1) return nums[0]; + + nums[1] = Math.max(nums[0], nums[1]); + + for (int i = 2; i < nums.length; i++) { + nums[i] = Math.max(nums[i - 1], nums[i - 2] + nums[i]); + } + + return nums[nums.length - 1]; + } +} diff --git a/longest-consecutive-sequence/sm9171.java b/longest-consecutive-sequence/sm9171.java new file mode 100644 index 000000000..94db19f50 --- /dev/null +++ b/longest-consecutive-sequence/sm9171.java @@ -0,0 +1,20 @@ +class Solution { + public int longestConsecutive(int[] nums) { + int longest = 0; + Set set = Arrays.stream(nums) + .boxed() + .collect(Collectors.toSet()); + + for (Integer i : set) { + if (set.contains(i - 1)) continue; + int length = 1; + + while (set.contains(i + 1)) { + length++; + i++; + } + longest = Math.max(longest, length); + } + return longest; + } +} diff --git a/top-k-frequent-elements/sm9171.java b/top-k-frequent-elements/sm9171.java new file mode 100644 index 000000000..b79d9170f --- /dev/null +++ b/top-k-frequent-elements/sm9171.java @@ -0,0 +1,21 @@ +class Solution { + public static int[] topKFrequent(int[] nums, int k) { + Map hashMap = new HashMap<>(); + for (int i = 0; i < nums.length; i++) { + int num = nums[i]; + hashMap.put(num, hashMap.getOrDefault(num, 0) + 1); + } + + List list = hashMap.entrySet().stream() + .sorted(Map.Entry.comparingByValue().reversed()) + .limit(k) + .map(Map.Entry::getKey) + .toList(); + + int[] result = list.stream() + .mapToInt(Integer::intValue) + .toArray(); + + return result; + } +} diff --git a/two-sum/sm9171.java b/two-sum/sm9171.java new file mode 100644 index 000000000..f9cffc0bc --- /dev/null +++ b/two-sum/sm9171.java @@ -0,0 +1,15 @@ +class Solution { + public int[] twoSum(int[] nums, int target) { + Map hashMap = new HashMap<>(); + + for (int i = 0; i < nums.length; i++) { + int gap = target - nums[i]; + if(hashMap.containsKey(gap)){ + int j = hashMap.get(gap); + return new int[]{i,j}; + } + hashMap.put(nums[i], i); + } + return null; + } +}