242.有效的字母异位词
class Solution {
public:
bool isAnagram(string s, string t)
{
int record[26]={0};
for(int i=0;i<s.size();i++)
{
record[s[i]-'a']++;
}
for(int i=0;i<t.size();i++)
{
record[t[i]-'a']--;
}
for(int i=0;i<26;i++)
{
if(record[i]!=0)
return false;
}
return true;
}
};
349. 两个数组的交集
学会如何插入数组
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2)
{
unordered_set<int>st2;
unordered_set<int>st1(nums1.begin(),nums1.end());
for(int num:nums2)
{
if(st1.find(num)!=st1.end())
st2.insert(num);
}
return vector<int>(st2.begin(),st2.end());
}
};
202. 快乐数
class Solution {
public:
int getsum(int n)
{
int sum=0;
while(n)
{
sum+=(n%10)*(n%10);
n/=10;
}
return sum;
}
bool isHappy(int n)
{
unordered_set<int>res;
while(1)
{
int sum=getsum(n);
if(sum==1)
return true;
if(res.find(sum)!=res.end())
return false;
else
res.insert(sum);
n=sum;
}
}
};
1. 两数之和
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target)
{
unordered_map<int,int>mp;
for(int i=0;i<nums.size();i++)
{
if(mp.find(target-nums[i])!=mp.end())
{
return {mp[target-nums[i]],i};
}
mp.insert(pair<int,int>(nums[i],i));
}
return {};
}
};