码迷,mamicode.com
首页 > 其他好文 > 详细

leetCode 1. Two Sum

时间:2017-07-11 23:15:12      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:size_t   abd   int   http   iter   开始   size   img   tco   

技术分享

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        
        map<int,int> s;
        for(int i=0;i<nums.size();++i)
        {
            map<int,int>::iterator it=s.find(target-nums[i]);
            if(it!=s.end())
                return {it->second, i};
            s[nums[i]]=i;
        }
    }
};

find 函数主要实现的是在容器内查找指定的元素,查找成功返回一个指向指定元素的迭代器,查找失败返回end迭代器。

 

在数组中查找:

int * p=find(first, end,val);//first 是容器的首迭代器,last是容器的末迭代器,val是要查找的元素。

 

 

在vector容器中查找:

vector<int> v;

for(i=1:n)

v.pushback(i);

vector<int> :: iterator  iter=find(v.begin(),v.end(),num);

if(iter==v.end())//判断是否找到

 

 

 

 

 

 

在字符串中查找:

string str("abdefg");

string str2("ab");

size_t found= str.find(str2); //如果没找到返回C++中npos

size_t found=str.find_first_of(str2);//返回第一次出现的地方

size_t found=str.find(str2,1,3);//从1开始查找字符串str2的前n个字符

size_t found=str.find(str2,5);// 从下标5开始查找

size_t found=str.rfind(str2);//反向查找

 

leetCode 1. Two Sum

标签:size_t   abd   int   http   iter   开始   size   img   tco   

原文地址:http://www.cnblogs.com/fanhaha/p/7152464.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!