首页 > 编程语言 >10.11算法

10.11算法

时间:2023-10-11 13:55:59浏览次数:49  
标签:min int price prices 算法 10.11 dp size

买卖股票的最佳时机
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。

你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。

返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。

 

示例 1:

输入:[7,1,5,3,6,4]
输出:5
解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。
注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。
示例 2:

输入:prices = [7,6,4,3,1]
输出:0
解释:在这种情况下, 没有交易完成, 所以最大利润为 0。
 

提示:

1 <= prices.length <= 105
0 <= prices[i] <= 104

class Solution { public:     int maxProfit(vector<int>& prices) {     if(prices.size() == 0){         return 0;     }     int min_price = prices[0];     int dp[prices.size()+1];     dp[0] =0;     for(int i=1;i<prices.size();i++){         min_price = min(min_price,prices[i]);         dp[i] = max(dp[i-1],prices[i] - min_price);     }     return dp[prices.size()-1];     } };   关键在于:1,还是可以用贪心算法 2.积极主动使用调试看问题在哪里

标签:min,int,price,prices,算法,10.11,dp,size
From: https://www.cnblogs.com/minipython-wldx/p/17756890.html

相关文章

  • 每天一算法,脑子不生锈(真押韵)
    前言看算法确实会让编码思路有所不同,看完好的方案,就会觉得自己的很low。今年开始尽量每天一道算法题,卷死自己,长期更新Question给定一个只包括'(',')','{','}','[',']'的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合......
  • 并查集的实现【学习算法】
    并查集的实现【学习算法】前言版权推荐并查集的实现最后前言2023-9-2614:38:02以下内容源自《【学习算法】》仅供学习交流使用版权禁止其他平台发布时删除以下此话本文首次发布于CSDN平台作者是CSDN@日星月云博客主页是禁止其他平台发布时删除以上此话推荐算法讲解056【必备】并......
  • 谈谈"求线段交点"的几种算法(js实现,完整版)
    谈谈"求线段交点"的几种算法(js实现,完整版)"求线段交点"是一种非常基础的几何计算,在很多游戏中都会被使用到. 下面我就现学现卖的把最近才学会的一些"求线段交点"的算法说一说,希望对大家有所帮助. 本文讲的内容都很初级,主要是面向和我一样的初学者,所以请各位算法帝......
  • 10.11
    packagecom;importjava.util.*;publicclasstest{privatestaticfinalString[]OPERATORS={"+","-","*","/"};privatestaticfinalintMIN_VALUE=1;privatestaticfinalintMAX_VALUE=50;private......
  • 10.11每日总结
    关于java集合迭代器中的it.hashNext()和it.next()方法今天突然想了一下找个问题,网上大多数说是直接取下一个元素,很迷惑,那么迭代器中it.next()方法到底是取当前元素并且指针下移还是直接取得下一个元素呢?下面就找个问题追了一下源码 //jdk1.8privateclassItrimplementsIter......
  • Java算法之动态规划详解
    ①动态规划动态规划(DynamicProgramming,DP)是运筹学的一个分支,是求解决策过程最优化的过程。20世纪50年代初,美国数学家贝尔曼(R.Bellman)等人在研究多阶段决策过程的优化问题时,提出了著名的最优化原理,从而创立了动态规划。动态规划的应用极其广泛,包括工程技术、经济、工业生产、军事......
  • 10.11日记
    工厂方法模式描述:在子类中实现父类的抽象方法不需要修改工厂类,只需要添加就行。符合开闭原则//商品接口的实现类interfaceProduct2{   functionshow():void;}classConcreateProductAimplementsProduct2{   publicfunctionshow():void   {       ......
  • 《算法学习专栏》——DP问题之线性DP
    2023年10月10日更新于2023年10月10日一、前言本栏,为线性DP,题目主要来源日常,目前主要来源于Acwing的提高课。希望以后做到线性DP的题目,也能加进来,不断完善。二、线性DP2.1目前的模型:数字三角形模型最长上升子序列模型2.2目前解决的问题:可以解决路径上的各种值。解决......
  • 基于Qlearning强化学习的路径规划算法matlab仿真
    1.算法运行效果图预览  2.算法运行软件版本MATLAB2022A  3.算法理论概述       路径规划在机器人、自动驾驶等领域中具有重要应用。Q-learning是一种经典的强化学习算法,可以用于解决路径规划问题。本文介绍了基于Q-learning的路径规划算法,该算法可以在未知......
  • 基于扩频的数字视频水印嵌入和检测算法matlab仿真
    1.算法运行效果图预览 2.算法运行软件版本matlab2022a 3.算法理论概述     在MPEG压缩标准中,数据流是以多路复合流的格式存储和传输的。多路复合流由音频流和视频流复合组成。多路复合流的基本单位时包,而一个包由三个组组成。组分为视频组和音频组,在此只介绍视......