打卡day5
202. 快乐数 - 力扣(LeetCode)
class Solution {
public:int getsum(long long num){long long sum=0;while(num){sum += (num % 10) * (num % 10);num /= 10;}return sum;}bool isHappy(int n) {if(n==1) return true;unordered_set<long long> us;while(n !=1){n = getsum(n);if(us.count(n)){return false;}us.insert(n);}return true;}
};
1. 两数之和 - 力扣(LeetCode)
class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int, int> ump;for(int i = 0; i < nums.size(); i++){int n = target - nums[i];if(ump.count(n)){ // 先查找再插入return {ump[n], i};}ump[nums[i]] = i;}return {};}
};
349. 两个数组的交集 - 力扣(LeetCode)
class Solution {
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {unordered_set<int> us;unordered_set<int> us1;vector<int> res;//也可以这样初始化 unordered_set<int> us(nums1.begin(), nums1.end() )for(auto n : nums1){ us. Insert(n);}for(auto n : nums2){us1.insert(n);}for(auto n : us1){if(us.count(n)){res.push_back(n);}}return res;}
};
242. 有效的字母异位词 - 力扣(LeetCode)
class Solution {
public:bool isAnagram(string s, string t) {unordered_multiset<char> us;for(int i = 0; i < s.length(); i++){us.insert(s[i]);}for(auto c :t){auto it = us.find(c);if(it != us.end()){us.erase(it);}else{return false;}}return us.empty();}
};