C++|C++ LeeCode题目:比特位计数和买卖股票的最佳时机

目录

  • 一、比特位计数
    • 一、题目
    • 二、代码
  • 二、买卖股票的最佳时机
    • 一、题目
    • 二、代码
  • 总结
    【C++|C++ LeeCode题目:比特位计数和买卖股票的最佳时机】
    一、比特位计数

    一、题目
    C++|C++ LeeCode题目:比特位计数和买卖股票的最佳时机
    文章图片



    二、代码
    十进制转二进制-百度百科
    C++|C++ LeeCode题目:比特位计数和买卖股票的最佳时机
    文章图片

    class Solution {public:vector countBits(int n) {vector num; for(int i=0; i<=n; i++){//遍历[0,n],计算每个值对应二进制1的个数num.push_back(countOne(i)); }return num; }public:int countOne(int x){//计算当前十进制数转换为二进制后1的个数if (x==0) return 0; else if (x==1) return 1; else if(x/2>0&&x/2<1){//如果当前为最后的商时return 1; }else{return countOne(x/2) + x%2; }}};


    二、买卖股票的最佳时机 一、题目
    C++|C++ LeeCode题目:比特位计数和买卖股票的最佳时机
    文章图片


    C++|C++ LeeCode题目:比特位计数和买卖股票的最佳时机
    文章图片

    二、代码
    C++|C++ LeeCode题目:比特位计数和买卖股票的最佳时机
    文章图片

    class Solution {public:int maxProfit(vector& prices) {//动态规划int profit = 0; //最大利润int enter = prices[0]; //当前股票的进价for(int i=1; iprices[i]){//当前进价更低时,修改进价,保留之前的最大利润值enter = prices[i]; }else if(profit
    总结 本篇文章就到这里了,希望能够给您带来帮助,也希望您能够多多关注脚本之家的更多内容!

      推荐阅读