注意因为要求最小的 所以如果碰到了比现有的要小的时候 我们要清空该List
class Solution {
public String[] findRestaurant(String[] list1, String[] list2) {
HashMap<String,Integer> map = new HashMap<>();
ArrayList<String> result = new ArrayList<>();
int min_sum = Integer.MAX_VALUE ;
for(int i = 0 ;i<list1.length;i++)
{
map.put(list1[i],i);
}
for(int i = 0 ;i<list2.length;i++)
{
if(map.containsKey(list2[i]))
{
int index = map.get(list2[i]);
if(index+i<min_sum)
{
result.clear();
result.add(list2[i]);
min_sum=index+i;
}
else if (index+i==min_sum)
{
result.add(list2[i]);
}
else
continue;
}
}
String[] A = new String[result.size()];
return result.toArray(A);
}
}
网友评论