参考卡哥的思路,写的unorder_map方法实现功能
#include <unordered_map>
using namespace std;
class Solution {
public:
int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) {
unordered_map<int,int>hashmap;
int cnt = 0;
for(int i = 0; i < nums1.size();i++) {
for(int j = 0; j < nums2.size();j ++) {
hashmap[nums1[i]+nums2[j]]++;
}
}
for(int i = 0; i < nums3.size();i++) {
for(int j = 0; j < nums4.size();j ++) {
if(hashmap.find(0-nums3[i]-nums4[j]) != hashmap.end()) {
cnt += hashmap[0-nums3[i]-nums4[j]];
}
}
}
return cnt;
}
};
bool canConstruct(char * ransomNote, char * magazine){
int vis1[26] = {0};
int vis2[26] = {0};
for(int i = 0; ransomNote[i] != '\0'; i++) {
vis1[ransomNote[i]-'a']++;
}
for(int i = 0; magazine[i] != '\0'; i++) {
vis2[magazine[i]-'a']++;
}
for(int i = 0; i < 26; i++) {
if(vis1[i] > vis2[i]) {
return 0;
}
}
return 1;
}
水题一个