博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法-数组-买卖股票的最佳时机
阅读量:3960 次
发布时间:2019-05-24

本文共 1092 字,大约阅读时间需要 3 分钟。

在这里插入图片描述

在这里插入图片描述

public class Solution {
public int maxProfit(int[] prices) {
int len = prices.length; if (len < 2) {
return 0; } // 有可能不发生交易,因此结果集的初始值设置为 0 int res = 0; // 枚举所有发生一次交易的股价差 for (int i = 0; i < len - 1; i++) {
for (int j = i + 1; j < len; j++) {
res = Math.max(res, prices[j] - prices[i]); } } return res; }}

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

public class Solution {
public int maxProfit(int[] prices) {
int len = prices.length; // 特殊判断 if (len < 2) {
return 0; } int[][] dp = new int[len][2]; // dp[i][0] 下标为 i 这天结束的时候,不持股,手上拥有的现金数 // dp[i][1] 下标为 i 这天结束的时候,持股,手上拥有的现金数 // 初始化:不持股显然为 0,持股就需要减去第 1 天(下标为 0)的股价 dp[0][0] = 0; dp[0][1] = -prices[0]; // 从第 2 天开始遍历 只看相邻两天的关系 for (int i = 1; i < len; i++) {
dp[i][0] = Math.max(dp[i - 1][0], dp[i - 1][1] + prices[i]); dp[i][1] = Math.max(dp[i - 1][1], -prices[i]); } return dp[len - 1][0]; }}

转载地址:http://aahzi.baihongyu.com/

你可能感兴趣的文章
软件项目管理
查看>>
面向过程的分析方法
查看>>
软件设计基础
查看>>
UML的基本结构
查看>>
UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
查看>>
用例图(UseCase Diagram)—UML图(一)
查看>>
类图(Class diagram)—UML图(二)
查看>>
活动图(Activity Diagram)—UML图(四)
查看>>
C#方法重载(overload)方法重写(override)隐藏(new)
查看>>
CSS+DIV练手-公司
查看>>
CSS+DIV练手—鲜花展
查看>>
深入浅出JavaScript(1)—ECMAScript
查看>>
深入浅出JavaScript(2)—ECMAScript
查看>>
Asp.Net+Jquery.Ajax详解1-开篇
查看>>
我的软件工程之路(四)—半年总结
查看>>
Asp.Net+Jquery.Ajax详解5-$.getScript
查看>>
Asp.Net+Jquery.Ajax详解6-$.ajaxSetup
查看>>
什么是Dojo?与Jquery宏观对比,结果如何?
查看>>
Asp.Net+Jquery.Ajax详解8-核心$.ajax
查看>>
项目中一个用于导出word的方法
查看>>