| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> JAVA数组——买卖股票的最大利润问题 -> 正文阅读 |
|
[数据结构与算法]JAVA数组——买卖股票的最大利润问题 |
问题描述:给定一个数据a,数组中的每个元素表示对应下标的股票价格。 如int a[5] = [3,5,7,3,6]表示股票在五天内的价格分别是3,5,7,3,6。请设计算法获取买卖股票的最大利润,并给出卖出股票的日期标号。如你买入股票时是3,在股票价格为7时卖出,利润为4最大,返回价格7的标号2。 采用动态规划的思想,利用Java语言编写核心代码; class buy { ????public?int?maxProfit(int[]?prices)?{ //给定股票的价格数组 ????????int?profit?[]?=?new?int[prices.length]; //记录对应每一天的利润 ????????profit[0]?=?0; //单天买入卖出没有利润 ????????int?maxProfit?=?0; //记录最大利润 ????????for(int?i?=?1;i?<?profit.length;i++)?{ ????????????//获取后一天的利润(判断是否有利润) ????????????profit[i]?=?Math.max(0,prices[i]?-?prices[i?-?1]?+?profit[i?-?1])?; ????????????if(profit[i]?>=?maxProfit)?{ ????????????????maxProfit?=?profit[i]; ????????????} ????????} ????????return?maxProfit; ????} } |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 23:22:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |