文档章节

121.买卖股票的最佳时机

o
 osc_idmmzkjc
发布于 07/01 09:05
字数 296
阅读 23
收藏 0
def

精选30+云产品,助力企业轻松上云!>>>

from typing import List
class Solution:
# 错误的思路,会超时。
def maxProfit1(self, prices: List[int]) -> int:
if len(prices) <= 1:return 0 # 小于等于一天没法交易买和卖
# 进行双重遍历
for index1 in range(len(prices)):
# 最大收益
max_prices = 0
for index2 in range(index1 + 1,len(prices)):
# 第二重遍历,判断index1的最大收益
if prices[index1] < prices[index2]:
if prices[index2] - prices[index1] > max_prices:
max_prices = prices[index2] - prices[index1]
# 求出最大收益,
prices[index1] = max_prices
# 返回最大收益
return max(prices)
# 动态规划的解法
def maxProfit(self, prices: List[int]) -> int:
if len(prices) <= 1:return 0 # 小于等于一天没法交易买和卖
dp = [0 for _ in range(len(prices))]
min_price = prices[0] #设置最低的价格,总是在价格最低的时候买入
# 进行遍历,每一天的情况
for index in range(1,len(prices)):
# 判断今天的价格是否比最小值小,是的话,就改变最小值
if min_price > prices[index]:
min_price = prices[index]
# 今天如果卖出的话,股票的时候是否比前一天的收益要大。
# 今天的收益肯定是要比前几天的收益要大。,
dp[index] = max(prices[index] - min_price,dp[index - 1])
print(dp)
return dp[-1]
A = Solution()
print(A.maxProfit([7,1,5,3,6,4]))
print(A.maxProfit([7,6,4,3,1]))


































o
粉丝 0
博文 64
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
Leetcode之动态规划(DP)专题-121. 买卖股票的最佳时机(Best Time to Buy and Sell Stock)

Leetcode之动态规划(DP)专题-121. 买卖股票的最佳时机(Best Time to Buy and Sell Stock) 股票问题: 121. 买卖股票的最佳时机 122. 买卖股票的最佳时机 II 123. 买卖股票的最佳时机 II...

osc_dnyaiulv
2019/09/08
1
0
一个函数解决【LeetCode 买卖股票的最佳时机】系列所有题目!

题目和题解汇总 之前介绍了【LeetCode 买卖股票的最佳时机】系列一共六道题目,这里把之前的题解还有题目链接汇总一下,方便大家查找。 第一题 LeetCode 121. 买卖股票的最佳时机[1] 每日算法...

godweiyang
02/26
0
0
Leetcode之动态规划(DP)专题-188. 买卖股票的最佳时机 IV(Best Time to Buy and Sell Stock IV)

Leetcode之动态规划(DP)专题-188. 买卖股票的最佳时机 IV(Best Time to Buy and Sell Stock IV) 股票问题: 121. 买卖股票的最佳时机 122. 买卖股票的最佳时机 II 123. 买卖股票的最佳时...

osc_dnyaiulv
2019/09/08
1
0
LeetCode 309. 最佳买卖股票时机含冷冻期(动态规划)

1. 题目 给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 你不能同时...

Michael阿明
05/01
0
0
LeetCode 123. 买卖股票的最佳时机 III(动态规划)

1. 题目 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意: 你不能同时参与多笔交易(你必须在再...

Michael阿明
05/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

测试工程师需要了解的shell变量知识

顾老师安全测试新课,报名地址: http://www.hbz100.com/pc/course/courseInfo.do?courseId=182320200226121405459。疫情期间,您在注意身体安全的同时,关注身体安全了吗?500元工作几天的薪...

啄木鸟顾老师
04/15
13
0
前端面试开源项目清单(github仓库,个人网站都有)

 复习前端面试的知识,是为了巩固前端的基础知识,最重要的还是平时的积累! ” 开源项目 https://github.com/InterviewMap/CS-Interview-Knowledge-Map 建立最好的面试地图。目前的内容包...

Fe-frank
05/11
12
0
【Flutter 专题】33 自定义 View 之 Canvas (一)

和尚最近在学习自定义 View,刚了解了一下 Paint 画笔的神奇之处,现在学习一下 Canvas 画布的神秘之处。Flutter 提供了众多的绘制方法,和尚接触不深,尽量都尝试一下。 Canvas 画布 drawCo...

阿策
2019/02/26
15
0
程序员,有需求做需求,有bug改bug,有什么好生气的呢?

对哦,我有什么好生气的呢! 本文分享自微信公众号 - WriteSimpleDemo(this_is_a_wechat)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入...

PedroQin
2019/10/25
8
0
[从0到1搭建ABP微服务] - 搭建授权服务

一、简介 授权中心是微服务架构中最为核心重要的环节,不仅为web、app等客户端提供身份授权服务,还对其他微服务提供身份认证服务。ABP微服务架构中使用identityServer4框架进行身份管理,并...

osc_g91p39eg
27分钟前
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部