class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
map<int,int> my_Map;
vector<int> result;
for(int i = 0 ; i < nums.size() ; i++)
{
//保证每次插入的元素是在my_Map里是唯一的
if(!my_Map.count(nums[i]))
{
my_Map.insert(pair<int, int>(nums[i],i));
}
if(my_Map.count(target-nums[i]))
{
int n = my_Map[target-nums[i]];
//为什么加上n<i,考虑这样一种情况nums=[3,3],target=6,i=0的时候my_Map.count(target-nums[i])=1,条件为真,所以n=my_Map[target_nums[i]]=0,而题目中要求一个数不能用两次,所以必须在最后一个数之前的位置寻找。
if(n < i)
{
result.push_back(i);