Skip to content

Commit edf31b0

Browse files
committed
Added 1 solution & modified 2 solutions
1 parent 1032199 commit edf31b0

3 files changed

+49
-39
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
class Solution {
2+
public List<Integer> arraysIntersection(int[] arr1, int[] arr2, int[] arr3) {
3+
int[] counter = new int[2001];
4+
updateCounter(counter, arr1);
5+
updateCounter(counter, arr2);
6+
updateCounter(counter, arr3);
7+
List<Integer> ans = new ArrayList<>();
8+
for (int i = 0; i < 2001; i++) {
9+
if (counter[i] == 3) {
10+
ans.add(i);
11+
}
12+
}
13+
return ans;
14+
}
15+
16+
private void updateCounter(int[] counter, int[] arr) {
17+
for (int num : arr) {
18+
counter[num]++;
19+
}
20+
}
21+
}
Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
class Solution {
2-
public int repeatedNTimes(int[] A) {
3-
int maxCounter = A.length / 2;
4-
Map<Integer, Integer> map = new HashMap<>();
5-
for (int num : A) {
6-
map.put(num, map.getOrDefault(num, 0) + 1);
7-
8-
if (map.get(num) == maxCounter) {
9-
return num;
10-
}
11-
}
12-
13-
return -1;
2+
public int repeatedNTimes(int[] A) {
3+
Map<Integer, Integer> map = new HashMap<>();
4+
int n = A.length / 2;
5+
for (int num : A) {
6+
map.put(num, map.getOrDefault(num, 0) + 1);
7+
if (map.get(num) == n) {
8+
return num;
9+
}
1410
}
11+
return -1;
12+
}
1513
}

Easy/Subdomain Visit Count.java

Lines changed: 18 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,22 @@
11
class Solution {
2-
public List<String> subdomainVisits(String[] cpdomains) {
3-
Map<String, Integer> map = new HashMap<>();
4-
5-
for (String s : cpdomains) {
6-
String[] strs = s.split("\\s+");
7-
int count = Integer.parseInt(strs[0]);
8-
String[] domains = strs[1].split("\\.");
9-
10-
String temp = domains[domains.length-1];
11-
int domainLen = domains.length-1;
12-
13-
while(domainLen >= 0) {
14-
map.put(temp, map.getOrDefault(temp, 0) + count);
15-
if (domainLen > 0) {
16-
temp = domains[domainLen-1] + "." + temp;
17-
}
18-
domainLen--;
19-
}
20-
2+
public List<String> subdomainVisits(String[] cpdomains) {
3+
Map<String, Integer> map = new HashMap<>();
4+
for(String domain : cpdomains) {
5+
int count = Integer.parseInt(domain.split("\\s+")[0]);
6+
String[] subDomains = domain.split("\\s+")[1].split("\\.");
7+
StringBuilder sb = new StringBuilder();
8+
for (int i = subDomains.length - 1; i >= 0; i--) {
9+
if (sb.length() != 0) {
10+
sb.insert(0, ".");
2111
}
22-
23-
List<String> ans = new ArrayList<>();
24-
for (Map.Entry<String, Integer> entry : map.entrySet()) {
25-
String str = String.valueOf(entry.getValue()) + " " + entry.getKey();
26-
ans.add(str);
27-
}
28-
29-
return ans;
12+
sb.insert(0, subDomains[i]);
13+
map.put(sb.toString(), map.getOrDefault(sb.toString(), 0) + count);
14+
}
15+
}
16+
List<String> list = new ArrayList<>();
17+
for (String key : map.keySet()) {
18+
list.add(map.get(key) + " " + key);
3019
}
20+
return list;
21+
}
3122
}

0 commit comments

Comments
 (0)