代码随想录第六天打卡|242.有效的字母异位词,349. 两个数组的交集,202. 快乐数

发布于:2024-05-14 ⋅ 阅读:(74) ⋅ 点赞:(0)

242.有效的字母异位词

Python

from collections import Counter
class Solution:
    def isAnagram(self, s: str, t: str) -> bool:
        n=Counter(s)
        m=Counter(t)
        return n==m   

C++

class Solution {
public:
    bool isAnagram(string s, string t) {
        int Map[26]={0};
        for (int i=0;i<s.size();i++)Map[s[i]-'a']++;
        for (int i=0;i<t.size();i++)Map[t[i]-'a']--;
        for (int i=0;i<26;i++)if (Map[i]!=0)return false;
        return true;
    }
};

349.两个数组的交集

Python

class Solution:
    def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
        nums1=set(nums1)
        res=set()
        for i in range(len(nums2)):
            if nums2[i] in nums1:
                res.add(nums2[i])
        return list(res)
        

C++

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        unordered_set<int> res;
        unordered_set<int> nums_set(nums1.begin(),nums1.end());
        for (int num:nums2){
            if (nums_set.find(num)!=nums_set.end()){
                res.insert(num);
            }
        }
        return vector<int>(res.begin(),res.end());
    }
};

202. 快乐数

C++

class Solution {
public:

    int check(int num){
        int total=0;
        while (num>=1){
            total+=(num%10)*(num%10);
            num/=10;
        }
        return total;
    }

    bool isHappy(int n) {
        unordered_set<int>mp;
        while(true){
            if (n==1)
                return true;
            else{
                if (mp.find(n)!=mp.end())
                    return false;
                else {
                    mp.insert(n);
                    n=check(n);
                }
            }
        }
    }
};

Python

class Solution:
    def check(self,n):
        nums=map(int,list(str(n)))
        total=0
        for i in nums:
            total+=i**2
        return total

    def isHappy(self, n: int) -> bool:
        s=set()  #表示map
        while 1:
            if n==1:
                return True
            if n in s:
                return False
            else:
                s.add(n)
                n=self.check(n)
            

总结

思路都是知道的,就是C++的代码还不是特别熟练。


网站公告

今日签到

点亮在社区的每一天
去签到