行业知识
代码随想录算法训练营第五天
2026-10-29 08:52:34
来源:互联网转载
● 自己看到题目的第一想法
242. 有效的字母异位词
-
���法:
方法一: 暴力法
1. 分别对s, t排序2. 遍历s与t 判断s[i]!=t[i] 返回 false 否则 返回true
-
思路:
-
注意:
-
代码:
bool cmp(char a, char b){ return apublic: bool isAnagram(string s, string t) { int slen = s.size(); int tlen = t.size(); if(slen != tlen){ return false; } sort(t.begin(), t.end(),cmp); sort(s.begin(), s.end(), cmp); for(int i= 0; i cout cout if(s[i] != t[j]){ coutpublic: bool isAnagram(string s, string t) { int record[26]={0}; int slen = s.size(); int tlen = t.size(); for(int i = 0; i record[s[i] -'a']++; } for(int i =0; i record[t[i]-'a']--; } for(int i=0; i if(record[i] != 0){ return false; } } return true; }};public: bool isAnagram(string s, string t) { map m[s[i]]++; } for(int i=0; i m[t[i]]--; } for (auto it = m.begin(); it != m.end(); ++it) { if (it-second != 0) { return false; } } //等价于 // for(auto it:map){ // if(it.second !=0){ // return false; // } // } return true; }};public: vector set if(s.find(nums) != s.end()){ res.insert(nums); } } return vectorpublic: int getsum(int n){ int sum =0; while(n){ sum += (n%10)*(n%10); n = n/10; } return sum; } bool isHappy(int n) { int slow = n; int fast = getsum(n); while(slow != fast){ slow = getsum(slow); fast = getsum(getsum(fast)); } if(slow==1){ return true; } return false; }};public: bool isHappy(int n) { unordered_set int x= getsum(n); if(set.find(x) !=set.end()){ return false; }else{ set.insert(x); } n=x; if(x==1){ return true; } } } int getsum(int n){ int sum=0; while(n){ sum += (n%10) * (n%10); n=n/10; } return sum; }};public: vector unordered_map auto it = map.find(target-nums[i]); if(it != map.end()){ return {it-second, i}; } map.insert(pair}; }};public: vector vector for(int j=i+1; j if(nums[i]+nums[j]==target){ // res.push_back(i); // res.push_back(j); res.insert(res.end(),{i,j}); return res; } } } return { }; }};
上一篇:台式主机携带包包怎么装
下一篇:系统服务器地址怎么查看?