classSolution{public:
vector<int>twoSum(vector<int>& nums,int target){
unordered_map<int,int> mp;for(int i =0; i < nums.size(); i++){auto iter = mp.find(target - nums[i]);if(iter != mp.end()){return{ iter->second, i };}
mp[nums[i]]= i;}return{};}};
454. 四数相加 II
classSolution{public:intfourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4){
unordered_map<int,int> mp;for(int a : nums1){for(int b : nums2){
mp[a + b]++;}}int res =0;for(int c : nums3){for(int d : nums4){if(mp.find(0-(c + d))!= mp.end()){
res += mp[(0-(c + d))];}}}return res;}};
383. 赎金信
classSolution{public:boolcanConstruct(string ransomNote, string magazine){int record[26]={0};if(ransomNote.size()> magazine.size())returnfalse;for(int i =0; i < magazine.size(); i++){
record[magazine[i]-'a']++;}for(int i =0; i < ransomNote.size(); i++){
record[ransomNote[i]-'a']--;if(record[ransomNote[i]-'a']<0)returnfalse;}returntrue;}};