class Solution {
public:
bool isAnagram(string s, string t) {
unordered_map<char, int> a, b;
for(auto c:s) a[c]++;
for(auto c:t) b[c]++;
return a == b;
}
};
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
unordered_set<int> S;
for(auto c : nums1) S.insert(c);
vector<int> res;
for(auto c : nums2)
{
if(S.count(c))
{
res.push_back(c);
S.erase(c);
}
}
return res;
}
};
class Solution {
public:
//所有不快乐数的数位平方和计算,最後都会进入 4 → 16 → 37 → 58 → 89 → 145 → 42 → 20 → 4 的循环中,形成一个圈
int getSum(int n)
{
int sum = 0;
while(n)
{
sum += (n % 10)*(n % 10);
n = n/10;
}
return sum;
}
bool isHappy(int n) {
int fast = getSum(n),slow = n;
while(fast != slow )
{
fast = getSum(getSum(fast)); //快指针速度是慢指针两倍
slow = getSum(slow);
}
return fast == 1; //判断环里的点有无1
}
};
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
vector<int> res;
for(int i = 0;i < nums.size();i++)
{
for(int j = i + 1;j < nums.size();j++)
{
if(nums[i] + nums[j] == target)
{
res.push_back(i);
res.push_back(j);
}
}
}
return res;
}
};