假如一个数组存储了一个股票,在一天交易窗口内各时间点的股票价格(正整数),只允许一次买入和一次卖出,请提供一个算法,计算出通过买入和卖出可以得到的最大利润
来源:互联网 发布:哥本哈根大学 知乎 编辑:程序博客网 时间:2024/04/30 21:13
运行环境:赛码网
题目描述
假如一个数组存储了一个股票,在一天交易窗口内各时间点的股票价格(正整数),只允许一次买入和一次卖出,请提供一个算法,计算出通过买入和卖出可以得到的最大利润
输入
价格序列,用,号隔开
输出
最大可能的利润
样例输入
2,3,2,4
样例输出
2
数据是有顺序的,卖出不能在买入之前
package com.vapy.offer;/** * * @author vapy 2016年9月19日 * */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]); } func(intArray); } public static void func(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); }}
本文代码可在github查看:点击此处
1 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)
- 薛斯通道的十二种买入法和四种卖出法
- 买入卖出四个时机
- Android侧滑菜单DrawerLayout(抽屉布局)实现
- 欢迎使用CSDN-markdown编辑器
- 仿知乎日报第十五篇:为CommentActivity加载数据
- 如何关闭Java的浏览器中的 - 为什么你应该现在就做
- URLEncode解决Cookie存取中文乱码
- 假如一个数组存储了一个股票,在一天交易窗口内各时间点的股票价格(正整数),只允许一次买入和一次卖出,请提供一个算法,计算出通过买入和卖出可以得到的最大利润
- Android 导航条效果实现(五) ActionBar+Fragment
- python编码
- C++基础复习心得4
- ReactiveCocoa简介
- java中的实体类中不要出现基本类型int,boolean
- swift 3 和 xcode 8
- JS经典题
- 解决整合 UCenter 首次注册同步登录与自动激活