code-哈希

leetcode两数之和

暴力解法 

class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target)
{
vector<int> v1;
for(int i=0;i<nums.size();i++)
{

for(int j=i+1;j<nums.size();j++)

{
if(nums[i]+nums[j]==target)
{
v1.push_back(i);
v1.push_back(j);
return v1;
}
}
}
return {};
}
};

哈希解法

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

leetcode-多数元素

利用map进行数字统计,达到标准就break,注意map一开始初始化了,里面是int就是0,如果是字符串就为空。

 

posted @ 2020-05-04 21:35  我爱微风  阅读(98)  评论(0)    收藏  举报