从零开始的刷LeetCode生活 第18期 181-190

在这里插入图片描述

class Solution {
public:
    vector<string> findRepeatedDnaSequences(string s) {
        unordered_map<string, int>hash;//每十个字符串出现的次数
        vector<string> res;
        for(int i = 0; i + 10 <= s.size(); i ++)
        {
            string str = s.substr(i, 10); //起始 分割长度
            hash[str] ++;
            if(hash[str] == 2) res.push_back(str);
        }
        return res;
    }
};

在这里插入图片描述

class Solution {
public:
    int maxProfit(int k, vector<int>& prices) {
        int n = prices.size();
        if(k > n / 2)
        {
            int res = 0;
            for(int i = 1; i < n; i ++) res += max(0, prices[i] - prices[i - 1]);
            return res;
        }
        int f[k + 1], g[k + 1];
        for(int i = 0; i <= k; i ++) f[i] = 0, g[i] = INT_MIN;
        for(auto cur : prices)
            for(int i = k; i; i --)
            {
                f[i] = max(f[i], g[i] + cur);
                g[i] = max(g[i], f[i - 1] - cur);
            }
        return f[k];
    }
};

在这里插入图片描述

class Solution {
public:
    void rotate(vector<int>& nums, int k) {
        int n = nums.size();
        k %= n;
        reverse(nums.begin(), nums.end());
        reverse(nums.begin(), nums.begin() + k);
        reverse(nums.begin() + k, nums.end());        
    }
};

在这里插入图片描述
在这里插入图片描述

class Solution {
public:
    uint32_t reverseBits(uint32_t n) {
        uint32_t res = 0;
        for(int i = 0; i < 32; i ++)
            res = (res << 1) + (n >> i & 1);
        return res;
    }
};
发布了121 篇原创文章 · 获赞 33 · 访问量 7302

猜你喜欢

转载自blog.csdn.net/qq_42549254/article/details/104007783
今日推荐