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,如果是字符串就为空。


浙公网安备 33010602011771号