day6
242.有效的字母异位词
class Solution {
public:
bool isAnagram(string s, string t) {
std::unordered_map<char,int> ma;
for (int i = 0; i < s.size(); ++i) {
if (ma.find(s[i]) == ma.end()) ma[s[i]] = 1;
else ma[s[i]]++;
}
for (int j = 0; j < t.size(); ++j) {
if (ma.find(t[j]) == ma.end()) return false;
else {
ma[t[j]]--;
if (ma[t[j] == 0]) return false;
}
}
for (auto const& [key,value]:ma) {
if (value != 0) return false;
}
return true;
}
};
数组就行,有点太暴力了
class Solution {
public:
bool isAnagram(string s, string t) {
int record[26] = {0};
for (int i = 0; i < s.size(); i++) {
// 并不需要记住字符a的ASCII,只要求出一个相对数值就可以了
record[s[i] - 'a']++;
}
for (int i = 0; i < t.size(); i++) {
record[t[i] - 'a']--;
}
for (int i = 0; i < 26; i++) {
if (record[i] != 0) {
// record数组如果有的元素不为零0,说明字符串s和t 一定是谁多了字符或者谁少了字符。
return false;
}
}
// record数组所有元素都为零0,说明字符串s和t是字母异位词
return true;
}
};
349. 两个数组的交集
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
vector<int> result;
std::unordered_map<int,int> ma;
for (int i = 0; i < nums1.size();i++) {
if (ma.find(nums1[i]) == ma.end()) ma[nums1[i]] = 1;
}
for (int j = 0;j < nums2.size(); ++j) {
if (ma.find(nums2[j]) != ma.end() && ma[nums2[j]] == 1) {
result.push_back(nums2[j]);
ma[nums2[j]]--;
}
}
return result;
}
};
第202题. 快乐数
注意循环的意义,出现的再出现就是循环了
class Solution {
public:
bool isHappy(int n) {
set<int> sums;
int result = n;
while(result != 1) {
result = reValue(result);
if (sums.find(result) == sums.end()) sums.insert(result);
else return false;
}
return true;
}
int reValue(int n) {
int sum = 0;
int num = 0;
while(n != 0) {
num = n % 10;
n /= 10;
sum += num * num;
}
return sum;
}
};
1. 两数之和
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
vector<int> result;
std::unordered_map<int,int> ma;
for (int i = 0; i < nums.size(); ++i) {
if (ma.find(target-nums[i]) != ma.end()) {
result.push_back(ma[target - nums[i]]);
result.push_back(i);
return result;
}
else {
ma[nums[i]] = i;
}
}
return result;
}
};
标签:ma,int,训练营,随想录,++,vector,result,return,两数
From: https://www.cnblogs.com/masene/p/17055602.html