代码随想录刷题第6天
#include <iostream>
#include<unordered_set>
using namespace std;
class Solution {
public:
bool isAnagram(string s, string t) {
int record[26] = {0};
int n = s.size(),m = t.size();
for (int i = 0; i < n; i++)
{
record[s[i] - 'a']++;
}
for (int j = 0; j < m; j++)
{
record[t[j] - 'a']--;
}
for (int k = 0; k < 26; k++)
{
if (record[k] != 0)
{
return false;
}
}
return true;
}
};
#include<vector>
#include<unordered_set>
using namespace std;
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
unordered_set<int> result_set;
unordered_set<int> set(nums1.begin(),nums1.end());
for(int num:nums2){
if (set.find(num) != set.end())
{
result_set.insert(num);
}
}
vector<int> result(result_set.begin(),result_set.end());
return result;
}
};
#include<vector>
#include<unordered_set>
using namespace std;
class Solution {
public:
int happy_num(int x){
int num = 0;
while (x)
{
int n = x % 10 ;
num += n*n;
x /= 10;
}
return num;
}
bool isHappy(int n) {
unordered_set<int> result;
while(true){
result.insert(n);
n = happy_num(n);
if (n == 1)
{
return true;
}
else if (result.find(n) != result.end())
{
break;
}
}
return false;
}
};
#include<string.h>
#include<vector>
#include<algorithm>
#include<unordered_map>
using namespace std;
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int,int> map;
for (int i = 0; i < nums.size(); i++)
{
auto iter = map.find(target - nums[i]);
if (iter != map.end())
{
return {iter->second,i};
}else{
map.insert(pair<int,int>(nums[i],i));
}
}
return {};
}
};