目录
[242. 有效的字母异位词](#242. 有效的字母异位词)
[349. 两个数组的交集](#349. 两个数组的交集)
[202. 快乐数](#202. 快乐数)
[1. 两数之和](#1. 两数之和)
242. 有效的字母异位词
cpp
class Solution {
public:
bool isAnagram(string s, string t) {
unordered_map<char,int> map;
for(int i=0;i<s.size();i++){
map[s[i]]++;
}
for(int i=0;i<t.size();i++){
if(map[t[i]]){
map[t[i]]--;
if(map[t[i]]==0){
map.erase(t[i]);
}
}
else {
return false;
}
}
if(map.size()){
return false;
}
return true;
}
};
349. 两个数组的交集
cpp
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
unordered_map<int,int> map;
for(int i=0;i<nums1.size();i++){
if(map[nums1[i]]==0){
map[nums1[i]]++;
}
}
vector<int> ans;
for(int i=0;i<nums2.size();i++){
if(map[nums2[i]]==1){
ans.push_back(nums2[i]);
map[nums2[i]]++;
}
}
return ans;
}
};
202. 快乐数
cpp
class Solution {
public:
bool isHappy(int n) {
unordered_map<int, int> map;
map[n]++;
while (1) {
int sum = 0;
while (n) {
sum += pow(n % 10, 2);
n /= 10;
}
if (sum == 1) {
return true;
}
else {
if (map[sum]) {
return false;
}
else {
map[sum]++;
n = sum;
}
}
}
return false;
}
};
1. 两数之和
cpp
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int,int> map;
for(int i=0;i<nums.size();i++){
if(map[target-nums[i]]){
return {i,map[target-nums[i]]-1};
}
map[nums[i]]=i+1;
}
return {};
}
};
