Skip to content

Commit 9a79056

Browse files
authored
Merge pull request #633 from mintheon/main
[swaaagger] Week 1
2 parents 4c3f57c + 3d815af commit 9a79056

File tree

5 files changed

+123
-0
lines changed

5 files changed

+123
-0
lines changed

contains-duplicate/mintheon.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import java.util.HashSet;
2+
import java.util.Set;
3+
4+
class Solution {
5+
public boolean containsDuplicate(int[] nums) {
6+
Set<Integer> numSet = new HashSet();
7+
8+
for(int num : nums) {
9+
numSet.add(num);
10+
}
11+
12+
return numSet.size() != nums.length;
13+
}
14+
}

house-robber/mintheon.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
class Solution {
2+
public int rob(int[] nums) {
3+
int[] sums = new int[nums.length];
4+
5+
sums[0] = nums[0];
6+
7+
if (nums.length > 1) {
8+
sums[1] = nums[1];
9+
}
10+
11+
if (nums.length > 2) {
12+
sums[2] = nums[0] + nums[2];
13+
}
14+
15+
if (nums.length > 3) {
16+
for (int i = 3; i < nums.length; i++) {
17+
sums[i] = Math.max(nums[i] + sums[i - 2], nums[i] + sums[i - 3]);
18+
}
19+
}
20+
21+
int max = 0;
22+
for(int sum : sums) {
23+
max = Math.max(sum, max);
24+
}
25+
26+
return max;
27+
}
28+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import java.util.HashSet;
2+
import java.util.Set;
3+
4+
class Solution {
5+
public int longestConsecutive(int[] nums) {
6+
Set<Integer> numSet = new HashSet<>();
7+
8+
for(int num : nums) {
9+
numSet.add(num);
10+
}
11+
12+
int longestSize = 0;
13+
14+
for(int num : numSet) {
15+
if(!numSet.contains(num - 1)) {
16+
int current = num;
17+
int count = 1;
18+
19+
while(numSet.contains(current + 1)) {
20+
count++;
21+
current++;
22+
}
23+
24+
longestSize = Math.max(count, longestSize);
25+
}
26+
}
27+
28+
return longestSize;
29+
}
30+
}

top-k-frequent-elements/mintheon.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import java.util.HashMap;
2+
import java.util.Map;
3+
import java.util.Map.Entry;
4+
import java.util.PriorityQueue;
5+
6+
class Solution {
7+
public int[] topKFrequent(int[] nums, int k) {
8+
int[] answer = new int[k];
9+
Map<Integer, Integer> frequent = new HashMap<>();
10+
11+
for(int num: nums) {
12+
frequent.put(num, frequent.getOrDefault(num, 1) + 1);
13+
}
14+
15+
PriorityQueue<Entry<Integer, Integer>> pq = new PriorityQueue<>((a, b) -> b.getValue().compareTo(a.getValue()));
16+
pq.addAll(frequent.entrySet());
17+
18+
for(int i = 0; i < k; i++) {
19+
answer[i] = pq.poll().getKey();
20+
}
21+
22+
return answer;
23+
}
24+
}

valid-palindrome/mintheon.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
class Solution {
2+
public boolean isPalindrome(String s) {
3+
int start = 0;
4+
int end = s.length() - 1;
5+
6+
while(start < end) {
7+
if(!Character.isLetterOrDigit(s.charAt(start))) {
8+
start++;
9+
continue;
10+
}
11+
12+
if(!Character.isLetterOrDigit(s.charAt(end))){
13+
end--;
14+
continue;
15+
}
16+
17+
if(Character.toLowerCase(s.charAt(start)) != Character.toLowerCase(s.charAt(end))) {
18+
return false;
19+
}
20+
21+
start++;
22+
end--;
23+
}
24+
25+
return true;
26+
}
27+
}

0 commit comments

Comments
 (0)