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

兰州哪有建设网站的写软文赚钱的平台都有哪些

兰州哪有建设网站的,写软文赚钱的平台都有哪些,厦门网络关键词排名,塑胶科技东莞网站建设文章目录 买卖股票121.买卖股票的最佳时机122.买卖股票的最佳时机 II123.买卖股票的最佳时机III188.买卖股票的最佳时机 IV 状态机DP:一般dp[i][j]表示在数组a[:i]的时候状态j的最优值 买卖股票 121.买卖股票的最佳时机 121.买卖股票的最佳时机 思路分析&#xff…

文章目录

  • 买卖股票
    • 121.买卖股票的最佳时机
    • 122.买卖股票的最佳时机 II
    • 123.买卖股票的最佳时机III
    • 188.买卖股票的最佳时机 IV

状态机DP:一般dp[i][j]表示在数组a[:i]的时候状态j的最优值

买卖股票

121.买卖股票的最佳时机

121.买卖股票的最佳时机

在这里插入图片描述

思路分析:对于这题,我们只需枚举卖出的股票的价格prices[i],同时记录先前的最小的买入价格minprice 是 prices[0] 到 prices[i-1]的最小值

class Solution:def maxProfit(self, prices: List[int]) -> int:ans = 0min_price = prices[0]for p in prices:ans = max(ans, p - min_price)min_price = min(min_price, p)return ans

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

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

在这里插入图片描述

思路分析:对于每一天来说,是不是具有两个状态持有股票和不持有股票?,那么我们就定义dp[i][0]和dp[i][1]表示在第i天不持有和持有股票,在每一天,每一个状态都可以由前一天的全部状态转移而来!

class Solution:def maxProfit(self, prices: List[int]) -> int:# 状态机,对于每一天来说,存在两个状态,也就是持有股票与不持有股票n = len(prices)# dp[i][0]表示在第i天没有持有股票的最大收益,dp[i][1]表示在第i天持有股票的最大收益dp = [[0]*2 for i in range(n+1)]dp[0][0] = 0# 不可能持有股票的dp[0][1] = -float('inf')for i in range(n):# 原本dp[i][0] = max(dp[i-1][0],dp[i-1][1]+prices[i])dp[i+1][0] = max(dp[i][0],dp[i][1]+prices[i])# 原本dp[i][1] = max(dp[i-1][1],dp[i-1][0]-prices[i])dp[i+1][1] = max(dp[i][1],dp[i][0]-prices[i])# 最大的收益就是第n天不持有股票的场景return dp[n][0]

123.买卖股票的最佳时机III

123.买卖股票的最佳时机III

在这里插入图片描述

思路分析:这题是 188.买卖股票的最佳时机III的k=2的场景

class Solution:def maxProfit(self, prices: List[int]) -> int:# 参照买卖股票的最佳时机IVk = 2n = len(prices)dp = [[[-float('inf')]*2 for _ in range(k+2)] for _ in range(n+1)]# 初始化for i in range(1,k+2):dp[0][i][0] = 0for i in range(n):for j in range(1,k+2):# j 表示已经交易了j-1次# dp[i][j][0] = max(dp[i-1][j][0],dp[i-1][j][1]+prices[i])dp[i+1][j][0] = max(dp[i][j][0],dp[i][j][1]+prices[i])# dp[i][j][1] = max(dp[i-1][j][1],dp[i-1][j-1][0]-prices[i])dp[i+1][j][1] = max(dp[i][j][1],dp[i][j-1][0]-prices[i])return dp[n][k+1][0]

188.买卖股票的最佳时机 IV

188.买卖股票的最佳时机 IV
在这里插入图片描述

思路分析:加多一个参数表示当前交易的次数

注意这个初始化

        dp = [[[-float('inf')]*2 for _ in range(k+2)] for i in range(n+1)]# 初始化dp[0][k][1]= -inffor i in range(1,k+2):dp[0][i][0] = 0

错误的初始化

        dp = [[[0]*2 for _ in range(k+2)] for i in range(n+1)]# 初始化dp[0][k][1]= -inffor i in range(1,k+2):dp[0][i][1] = 0
class Solution:def maxProfit(self, k: int, prices: List[int]) -> int:# 要增加一个参数,表示当前可以交易的次数# dp[i][k][j] 表示在第i天持有股票在第k次交易,j=0表示不持有股票的最大收益,j=1表示持有股票的最大收益n = len(prices)dp = [[[-float('inf')]*2 for _ in range(k+2)] for i in range(n+1)]# 初始化dp[0][k][1]= -inffor i in range(1,k+2):dp[0][i][0] = 0# 定义买入股票的时候才会+1交易数for i in range(n):for j in range(1,k+2):# j 表示已经交易了j-1次# dp[i][j][0] = max(dp[i-1][j][0],dp[i-1][j][1]+prices[i])dp[i+1][j][0] = max(dp[i][j][0],dp[i][j][1]+prices[i])# dp[i][j][1] = max(dp[i-1][j][1],dp[i-1][j-1][0]-prices[i])dp[i+1][j][1] = max(dp[i][j][1],dp[i][j-1][0]-prices[i])return dp[n][k+1][0]
http://www.dtcms.com/wzjs/543050.html

相关文章:

  • 网站建设的课件17素材网下载
  • 个人手机版网站建设技能培训网站
  • 西城专业网站建设公司邻水网站建设
  • 深圳网站建设企业名录怎样在赶集微网站做微招聘
  • 长安区建设局网站学院评估+++网站建设整改
  • 网站建设维护岗位职责江西企业网站建设价格
  • 阿里去可以做几个网站口碑营销名词解释
  • 外贸有限公司英文网站宽甸县建设局网站
  • 太湖县住房和城乡建设网站市建设局phpcms 手机网站后台
  • 优化网站打开速度微信h5支付
  • 朱腾鹏个人网站ui培训哪好
  • 兰州市建设工程安全质量监督站网站做网站的有哪些公司
  • 建网站 可以看到访客吗网站注册怎么注销
  • 做美容网站wordpress的windows
  • 制作html网站模板内蒙古微网站建设
  • 做国际贸易都用什么网站移动网站制作公司
  • 家具网站开发设计任务书四川省城乡建设厅官方网站
  • 网站建设需要几步网站购买广告位
  • 信息流优化师培训说到很多seo人员都转行了
  • 网站标题关键词堆砌下载上海发布官方网站
  • 怎样在网站是做宣传自媒体seo是什么意思
  • seo可以提升企业网站的wordpress wplogin.php
  • 汽车网站模板下载wordpress搬家500
  • 单页 网站 模板河南省教育厅官方网站师德建设
  • 快速做网站套餐东莞网站制作外包
  • 网站建设商业阶段医疗在线网站建设
  • 做百度推广是不是得有个网站先网站开发有什么技术要求
  • 泉州seo优化广州新塘网站seo优化
  • 最好的企业网站最好的wordpress
  • 做网站刷QQ会员网站大学生个人简历word免费模板