假如一个数组存储了一个股票,在一天交易窗口内各时间点的股票价格(正整数),只允许一次买入和一次卖出,请提供一个算法,计算出通过买入和卖出可以得到的最大利润
来源:互联网 发布:程序员为什么转行? 编辑:程序博客网 时间:2024/05/01 00:51
参考:http://blog.csdn.net/jx_870915876/article/details/52587634
题目描述
假如一个数组存储了一个股票,在一天交易窗口内各时间点的股票价格(正整数),只允许一次买入和一次卖出,请提供一个算法,计算出通过买入和卖出可以得到的最大利润
输入
价格序列
输出
最大可能的利润
样例输入
2 3 2 4
样例输出
2
数据是有顺序的,卖出不能在买入之前
Java代码实现
import java.util.Scanner;public class Main2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String inputString = ""; if (sc.hasNextLine()) { inputString = sc.nextLine(); } String[] inputArrayInt = inputString.split(" "); int len = inputArrayInt.length; int[] intArray = new int[len]; for (int i = 0; i < len; i++) { intArray[i] = Integer.valueOf(inputArrayInt[i]); } maxProfit(intArray); } public static void maxProfit(int[] array) { int result = 0; if (array.length == 0) { System.out.println(0); } int max = array[0]; int min = array[0]; int max_index = 0; int min_index = 0; for (int i = 0; i < array.length; i++) { if (array[i] <= min) { min = array[i]; min_index = i; } else if (array[i] >= max || (max_index <= min_index)) { max = array[i]; max_index = i; } if (max_index >= min_index) { int temp = max - min; result = result >= temp ? result : temp; } } System.out.println(result); }}
0 0
- 假如一个数组存储了一个股票,在一天交易窗口内各时间点的股票价格(正整数),只允许一次买入和一次卖出,请提供一个算法,计算出通过买入和卖出可以得到的最大利润
- 假如一个数组存储了一个股票,在一天交易窗口内各时间点的股票价格(正整数),只允许一次买入和一次卖出,请提供一个算法,计算出通过买入和卖出可以得到的最大利润
- amazon 股票的最佳买入和卖出点
- 股票的最佳买入卖出时间
- Best Time to Buy and Sell Stock 最佳时间买入卖出股票(一次买入卖出) @LeetCode
- 给出N天的股价,能买入和卖出股票,但是任何时候手上最多持有一份股票.允许交易K次求最多的收益.
- 网易游戏面试--两次股票买入卖出的最大收益
- LeetCode 121. Best Time to Buy and Sell Stock--股票买入后再卖出,求最大收益,最多交易一次
- 股票买入卖出手续费
- LeetCode 121 Best Time to Buy and Sell Stock(股票买入卖出的最佳时间)
- 股市买入卖出时间点选择问题
- 股市买入卖出时间点选择问题
- 股市买入卖出时间点选择问题
- leetCode:121\122\309 股票买入和卖出获取最大收益问题
- LeetCode 122 Best Time to Buy and Sell Stock II(股票买入卖出的最佳时间 II)
- LeetCode 122 Best Time to Buy and Sell Stock II(股票买入卖出的最佳时间 II)
- 薛斯通道的十二种买入法和四种卖出法
- 买入卖出四个时机
- c语言实现getline函数
- 归并排序
- C++_3种预处理功能
- Linux下用C语言实现简单的密码登录
- java基本数据类型和引用类型
- 假如一个数组存储了一个股票,在一天交易窗口内各时间点的股票价格(正整数),只允许一次买入和一次卖出,请提供一个算法,计算出通过买入和卖出可以得到的最大利润
- container_of() 宏
- c++顺序容器的操作
- Python 之 *args和**kw
- 极客 - 博文27 - 不带头指针的链表的实现
- 一个简单的黑白五子棋游戏
- Electric Fences_usaco3.4_皮克定理
- C Primer Plus学习 五十四 内联函数
- codeforces 731BCoupons and Discounts