Minimum Index Sum of Two Lists
Thoughts
Code
class Solution {
public String[] findRestaurant(String[] list1, String[] list2) {
Map<String, Integer> map = new HashMap<>();
for (int i = 0; i < list1.length; i++) {
map.put(list1[i], i);
}
int min = Integer.MAX_VALUE;
List<String> set = new ArrayList<>();
for (int i = 0; i < list2.length; i++) {
if (map.containsKey(list2[i])) {
if (i + map.get(list2[i]) < min) {
set.clear();
set.add(list2[i]);
min = i + map.get(list2[i]);
} else if (i + map.get(list2[i]) == min) {
set.add(list2[i]);
}
}
}
String[] result = new String[set.size()];
for (int i = 0; i < set.size(); i++) {
result[i] = set.get(i);
}
return result;
}
}Analysis
Last updated