用find函数来定位数据出现位置,它返回的一个迭代器,当数据出现时,它返回数据所在位置的迭代器,如果map中没有要查找的数据,它返回的迭代器等于end函数返回的迭代器,程序说明
#include <map>
#include <string>
#include <iostream>
Using namespace std;
Int main()
{
Map<int, string> mapStudent;
mapStudent.insert(pair<int, string>(1, “student_one”));
mapStudent.insert(pair<int, string>(2, “student_two”));
mapStudent.insert(pair<int, string>(3, “student_three”));
map<int, string>::iterator iter;
iter = mapStudent.find(1);
if(iter != mapStudent.end())
{
Cout<<”Find, the value is ”<<iter->second<<endl;
}
Else
{
Cout<<”Do not Find”<<endl;
}
}
class Solution {
public:
vector<int> twoSum(vector<int>& numbers, int target) {
map<int,int> s;
vector<int> res;
for(int i=0;i<numbers.size();i++){
int m=target-numbers[i];
if(s.find(m)!=s.end()){
if(i>s[m]){
res.push_back(s[m]+1);
res.push_back(i+1);
}
else{
res.push_back(i+1);
res.push_back(s[m]+1);
}
return res;
}
s[numbers[i]]=i;
}
return res;
}
};