https://leetcode.com/problems/minimum-index-sum-of-two-lists/description/
题目:求两个列表共有的元素,并且下标之和最小,(多个相同返回多个)。
思路:map。。
class Solution {
public:
vector<string> findRestaurant(vector<string>& list1, vector<string>& list2) {
vector<string>result;
map<string,int>m;
int len1=list1.size(),len2=list2.size();
int min=1000000;
for(int x=0;x<len1;x++) m[list1[x]]=x;
for(int x=0;x<len2;x++){
if(m.find(list2[x])!=m.end()){
if(min>x+m[list2[x]]) {
min=x+m[list2[x]];
result.clear();
result.push_back(list2[x]);
}
else if(min==x+m[list2[x]]) result.push_back(list2[x]);
}
}
return result;
}
};