1.1207. 独一无二的出现次数 - 力扣(LeetCode)
cpp
class Solution {
public:
bool uniqueOccurrences(vector<int>& arr) {
unordered_map<int,int> count_map;
for(int ch:arr){
count_map[ch]++;
}
unordered_set<int> count_set;
for (auto [_, count] : count_map){
count_set.insert(count);
}
return count_map.size()==count_set.size();
}
};
学习:
- 是否重复出现用set.size()==map.size()进行判断。
- count_map的用法,count_map[ch]++;默认初始值为0.
- for (auto [_, count] : count_map)中auto[ _,count]:count_map中占位符的使用。
2.151. 反转字符串中的单词 - 力扣(LeetCode)
cpp
class Solution {
public:
std::string reverseWords(std::string s) {
int n = s.size();
string answer;
int index = 0; // index用于过滤空格,存放对应的单词
reverse(s.begin(), s.end()); // 先反转整个字符串
for (int start = 0; start < n; start++) {
if (s[start] != ' ') { // 如果不是空格
int end = start;
while (end < n && s[end] != ' ') { // 找到单词的结尾
end++;
}
// 反转当前单词
reverse(s.begin() + start, s.begin() + end);
// 将单词添加到结果中
if (!answer.empty()) {
answer += ' '; // 如果结果不为空,添加空格
}
answer += s.substr(start, end - start);
start = end - 1; // 更新start,跳过当前单词
}
}
return answer;
}
};