Minimum Index Sum of Two Lists LeetCode solution in Java

1
class Solution {
2
public String[] findRestaurant(String[] list1, String[] list2) {
3
if (list1.length > list2.length) {
4
return findRestaurant(list2, list1);
5
}
6

7
Map<String, Integer> map1 = new HashMap<>();
8
for (int i = 0; i < list1.length; i++) {
9
map1.put(list1[i], i);
10
}
11

12
List<String> mins = new ArrayList<>();
13
int minSum = Integer.MAX_VALUE;
14
for (int i = 0; i < list2.length; i++) {
15
String rest2 = list2[i];
16
if (map1.containsKey(rest2)) {
17
int sum = map1.get(rest2) + i;
18
if (sum < minSum) {
19
mins = new ArrayList<>();
20
minSum = sum;
21
}
22
if (sum == minSum) {
23
mins.add(rest2);
24
}
25
}
26
}
27

28
return mins.toArray(new String[mins.size()]);
29
}
30
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0