当前位置: 首页 > news >正文

代码随想录训练营第49天|121.买卖股票的最佳时机,122.买卖股票的最佳时机II

代码随想录训练营第49天|121.买卖股票的最佳时机,122.买卖股票的最佳时机II

  • 121.买卖股票的最佳时机
    • 文章
    • 思路
    • 代码
  • 122.买卖股票的最佳时机II
    • 文章
    • 思路
    • 代码
  • 总结

121.买卖股票的最佳时机

文章

代码随想录|0121.买卖股票的最佳时机

思路

维护一个历史最低价,维护一个最低价基础上的最大收益

代码

class Solution {public int maxProfit(int[] prices) {int i, n;n = prices.length;int lowest = 0x7fffffff;int res = 0;for (i = 0; i < n; ++i) {lowest = lowest < prices[i] ? lowest : prices[i];res = res > prices[i] - lowest ? res : prices[i] - lowest;}return res;}
}

122.买卖股票的最佳时机II

文章

代码随想录|0122.买卖股票的最佳时机II(动态规划)

思路

dp[i]表示截止到第i天能获得的最大收益
d p [ i ] = M a t h . m a x ( d p [ i − 1 ] , d p [ i − 1 ] + p r i c e s [ i ] − p r i c e s [ i − 1 ] ) dp[i]=Math.max(dp[i-1], dp[i-1]+prices[i]-prices[i-1]) dp[i]=Math.max(dp[i1],dp[i1]+prices[i]prices[i1])

代码

class Solution {public int maxProfit(int[] prices) {int i, j, n;n = prices.length;int[] dp = new int[n];for (i = 1; i < n; ++i) {dp[i] = prices[i] > prices[i - 1] ? dp[i - 1] + prices[i] - prices[i - 1] : dp[i - 1];}return dp[n - 1];}
}

总结

感觉我的思路不太像卡哥的dp
II这个题以前是滑动窗口+贪心就很好理解
卡哥用的是考虑每天是否持有股票的两种情况来dp,反而耗时比我的长

http://www.lryc.cn/news/164079.html

相关文章:

  • 1-3 AUTOSAR软件架构
  • Dajngo02_第一个Django案例
  • R语言分析糖尿病数据:多元线性模型、MANOVA、决策树、典型判别分析、HE图、Box's M检验可视化...
  • 有效回文字符串(Valid palindrome)
  • 9月9日,每日信息差
  • Java——》synchronized编译
  • vue3使用el-form实现登录、注册功能,且进行表单验证(Element Plus中的el-form)
  • 12个微服务架构模式最佳实践
  • 快速搭建:对象存储平台MinIO
  • Nomad 系列-Nomad+Traefik+Tailscale 集成实现零信任安全
  • (二十一)大数据实战——Flume数据采集之复制和多路复用案例实战
  • VM安装RedHat7虚机ens33网络不显示IP问题解决
  • Leetcode 第 362 场周赛题解
  • 蓝桥杯官网练习题(0的个数)
  • 计算线段上距离线段外某一点最近的点
  • 港联证券股票分析:经济拐点显现 积极提升仓位
  • 不同的图像质量评价指标(IQA)
  • linux命令-tar 命令
  • selenium元素定位---ElementClickInterceptedException(元素点击交互异常)解决方法
  • 05_css选择器的使用
  • 跨平台游戏引擎 Axmol-2.0.0 正式发布
  • 面试总结归纳
  • 【刷题篇】贪心算法(一)
  • 从维基百科通过关键字爬取指定文本内容
  • pytorch代码实现之SAConv卷积
  • 一文解析-通过实例讲解 Linux 内存泄漏检测方法
  • Spring Boot常用的参数验证技巧和使用方法
  • 手机+卫星的科技狂想
  • 便捷查询中通快递,详细物流信息轻松获取
  • ARM接口编程—Interrupt(exynos 4412平台)