首页 > 编程语言 >学习日记(C++、动态规划)

学习日记(C++、动态规划)

时间:2022-10-18 13:56:43浏览次数:41  
标签:int maxProfit C++ public prices 动态 日记 size

1、121买卖股票的最佳时机

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int n=(int)prices.size(),ans=0;
        for(int i=0;i<n;++i){
            for(int j=i+1;j<n;++j){
                ans=max(ans,prices[j]-prices[i]);
            }
        }
        return ans;
    }
};

直接遍历的方法不可取,会超出时间限制,因为时间复杂度是o(n2)

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        //dp[i]表示从0到i比prices[i]小的最小值
        vector<int>dp(prices.size());
        dp[0]=prices[0];
        for(int i=1;i<prices.size();++i)
        {
            dp[i]=min(dp[i-1],prices[i]);
        }
        //最后用prices[i]-dp[i],即为差最大
        
        int res=0;
        for(int i=0;i<prices.size();++i)
        {
            res=max(prices[i]-dp[i],res);
        }
        return res;
    }
};
View Code

 

标签:int,maxProfit,C++,public,prices,动态,日记,size
From: https://www.cnblogs.com/zhishiyigenicheng/p/16802293.html

相关文章

  • OpenCV无缝融合应用(四)--纹理平滑(附C++源码)
    导读本期将介绍并演示OpenCV中使用textureFlattening实现图像中指定区域纹理平滑的效果。介绍OpenCV图像无缝融合-seamlessClone介绍与使用(Python/C++源码)OpenCV无缝融合......
  • OpenCV无缝融合应用(二)--指定目标颜色改变(附C++源码)
    导读本期将介绍并演示OpenCV中使用colorChange实现图像中指定目标颜色改变的效果。介绍colorChange与seamlessClone同属于SeamlessCloning部分,算法均来自下面这篇论文:​​h......
  • OpenCV无缝融合应用(三)--局部区域亮度调整(附C++源码)
    导读本期将介绍并演示OpenCV中使用illuminationChange实现图像中局部区域亮度调整的效果。介绍OpenCV图像无缝融合-seamlessClone介绍与使用(Python/C++源码)OpenCV无缝融......
  • C++ | PaddleOCR+OpenCV实现文字识别步骤与代码演示
    导读本期将介绍并演示C++OpenCV使用PaddleOCR做文字识别的步骤与效果。介绍百度深度学习框架PaddlePaddle开源的OCR项目PaddleOCR近期霸榜github。使用测试后发现识别效果......
  • 动态获取屏幕尺寸
    android中获取屏幕的长于宽,参考了网上有很多代码,但结果与实际不符,如我的手机是i9000,屏幕大小是480*800px,得到的结果却为320*533结果很不靠谱,于是自己写了几行代码,亲测一下测......
  • 动态计算rem
    在根文件中添加<script>(function(w,d){functionsetSize(){varscreenWidth=d.documentElement.clientWidth;varcurrentFo......
  • 【C语言知识碎片】动态内存分配函数的使用
    1.为什么需要动态内存分配我们需要存储一些数据时可以创建一个变量或者数组来进行存储。intval=10;intarr[10]={0};数组在开辟好之后大小是不能变的,但是这种静态的内存在......
  • 解决 VS Code C/C++ 代码补全间歇性失效的问题
    最近一个月我的vscode突然开始发癫,正常情况下,在编辑器中输入一段字符应该会弹出自动补全的框框:但是不知道从何时起,我的vscode弹出的框里会出现只有C++关键字,没有任何库函......
  • SpringBoot配置动态定时任务
    1.SpringBoot配置动态定时任务SpringBoot项目中简单使用定时任务,不过由于要借助cron表达式且都提前定义好放在配置文件里,不能在项目运行中动态修改任务执行时间,实在不太......
  • C++代码模板
    #include<iostream>#include<cstdio>#include<string>#include<cstring>#include<algorithm>#include<cmath>#include<map>#include<vector>#definelllonglong......