--- 題型 ---
放剩下 相關的題目 ψ(._. )>
/*
* NeetCode
* Anagram Groups
*/
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
unordered_map<string, vector<string>> um;
for(int i=0;i<strs.size();i++){
string sortedStr = strs[i];
sort(sortedStr.begin(),sortedStr.end());
um[sortedStr].push_back(strs[i]);
}
//
vector<vector<string>> result;
for (const auto& pair : um) {
result.push_back(pair.second);
}
return result;
}
};
/*
* NeetCode
* Top K Elements in List
*/
class Solution {
public:
static bool cmp(pair<int,int>&a,pair<int,int>&b){
return a.second > b.second;
}
vector<int> topKFrequent(vector<int>& nums, int k) {
unordered_map<int, int> um;
for (int num:nums) {
um[num]++;
}
//
vector<pair<int, int>> v(um.begin(), um.end());
sort(v.begin(), v.end(),cmp);
vector<int> result;
for (int i = 0; i < k; ++i) {
result.push_back(v[i].first);
}
return result;
}
};
/*
* NeetCode
* String Encode and Decode
*/
class Solution {
public:
string encode(vector<string>& strs) {
string s;
for(int i=0;i<strs.size();++i){
s+=strs[i];
s+='\n';
}
cout << s << endl;
return s;
}
vector<string> decode(string s) {
string str;
vector<string>strs;
for(int i=0;i<s.size();++i){
if(s[i]=='\n'){
strs.push_back(str);
str="";
}else{
str+=s[i];
}
}
return strs;
}
};
/*
* NeetCode
* Is Palinrome
*/
class Solution {
public:
char down(char c){
if(c>='A' && c<='Z'){
return c-'A'+'a';
}else{
return c;
}
}
bool isPalindrome(string s) {
for(int l=0,r=s.size()-1;l<=r;++l,--r){
while( !isalnum(s[l]) ){
if(l>s.size()-1){
return true;
}
++l;
}
while( !isalnum(s[r]) ){
if(r<0){
return true;
}
--r;
}
cout << l << r << endl;
if( down(s[l])!=down(s[r]) ){
return false;
}
}
return true;
}
};
/*
* NeetCode
* Two Integer Sum II
*/
class Solution {
public:
vector<int> twoSum(vector<int>& numbers, int target) {
unordered_map<int,int> um;
int len = numbers.size();
for(int i=0;i<len;++i){
if(um.find(numbers[i])!=um.end()){
return {um[numbers[i]],i+1};
}
if( (target-numbers[i]>numbers[i]) ){
um[target-numbers[i]]=i+1;
}
}
return {};
}
};
Last updated
Was this helpful?