小工具知识网

当前位置: 首页 > 行业知识 > 代码随想录算法训练营第五天

行业知识

代码随想录算法训练营第五天

2026-10-29 08:52:34 来源:互联网转载

● 自己看到题目的第一想法

242. 有效的字母异位词

  1. ���法:

    方法一: 暴力法

    1. 分别对s, t排序2. 遍历s与t  判断s[i]!=t[i]  返回 false  否则 返回true
  2. 思路:

  3. 注意:

  4. 代码:

    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 { };          }};

上一篇:台式主机携带包包怎么装

下一篇:系统服务器地址怎么查看?