方法一:哈希表
class Solution {
public String[] findRestaurant(String[] list1, String[] list2) {
Map<String, Integer> index = new HashMap<String, Integer>();
for (int i = 0; i < list1.length; i++) {
index.put(list1[i], i);
}
int maxSum = Integer.MAX_VALUE;
List<String> ret = new ArrayList<String>();
for (int i = 0; i < list2.length; i++) {
if (index.containsKey(list2[i])) {
int j = index.get(list2[i]);
if (i + j < maxSum) {
ret.clear();
ret.add(list2[i]);
maxSum = i + j;
}else if(i + j == maxSum){
ret.add(list2[i]);
}
}
}
return ret.toArray(new String[ret.size()]);
}
}