股市买入卖出时间点选择问题
来源:互联网 发布:中国网安 知乎 编辑:程序博客网 时间:2024/04/30 18:52
题目:
给你一个股价序列,告诉你每个时间点的股价,问你什么时候买什么时候卖获利最大。时间复杂度越低越好。
解答:
方法一:
只需要从左往右遍历一遍序列Sequence[N],获得每一个元素对应的左边的最小值即可。例如,设为min[N]。
再次遍历序列时,通过计算Sequence[i] - min[i],并获得最大值即可。
当然,本题还要求给出买入卖出位置,因此可以再加入一个location[N],用来记录最小值的位置即可。
复杂度计算:一共遍历两次,因此,为O(N)。
方法二:
采用差分序列的方法。
首先计算每两个元素之间的差,然后针对差计算最大连续子序列和就可以了。这样这个问题就转化成了最大连续子序列的求法问题。
该方法参考编程之美。
复杂度也是O(N)。
- 股市买入卖出时间点选择问题
- 股市买入卖出时间点选择问题
- 股市买入卖出时间点选择问题
- 股票的最佳买入卖出时间
- amazon 股票的最佳买入和卖出点
- 假如一个数组存储了一个股票,在一天交易窗口内各时间点的股票价格(正整数),只允许一次买入和一次卖出,请提供一个算法,计算出通过买入和卖出可以得到的最大利润
- 假如一个数组存储了一个股票,在一天交易窗口内各时间点的股票价格(正整数),只允许一次买入和一次卖出,请提供一个算法,计算出通过买入和卖出可以得到的最大利润
- Best Time to Buy and Sell Stock 最佳时间买入卖出股票(一次买入卖出) @LeetCode
- 买入卖出四个时机
- 股票买入卖出手续费
- 如何选择合适的买入时间
- MACD高级用法之一——稳健买入法+2点卖出法
- LeetCode 121 Best Time to Buy and Sell Stock(股票买入卖出的最佳时间)
- 最佳时间买入卖出股票 Best Time to Buy and Sell Stock LeetCode
- leetCode:121\122\309 股票买入和卖出获取最大收益问题
- Best Time to Buy and Sell Stock II 最佳时间买入卖出股票(多次买卖)@LeetCode
- Best Time to Buy and Sell Stock III 最佳时间买入卖出股票(最多两次买卖)@LeetCode
- LeetCode 122 Best Time to Buy and Sell Stock II(股票买入卖出的最佳时间 II)
- 在Wince 中使用IXRResourceDictionary加载全局资源App.xaml
- 表空间文件丢失、如何删除表空间
- Linux 中SHELL判断一个环境变量是否存
- platform_bus,platform_driver,platform_bus
- java.lang.String类分析
- 股市买入卖出时间点选择问题
- sql 条件中判断字段值等于NULL
- 串口编程
- Akka2使用探索7——“云计算”示例(Actor、Future、Remoting、Router、Deploy、异步、并发使用Demo)
- Snmp学习笔记
- Lucas–Kanade光流算法
- Java StringTokenizer类详解
- [ActiveMQ]java.net.UnknownHostException: localhost
- pm_runtime