风口的猪-中国牛市
来源:互联网 发布:手机淘宝地址在哪改 编辑:程序博客网 时间:2024/04/28 07:40
风口之下,猪都能飞。当今中国股市牛市,真可谓“错过等七年”。 给你一个回顾历史的机会,已知一支股票连续n天的价格走势,以长度为n的整数数组表示,数组中第i个元素(prices[i])代表该股票第i天的股价。 假设你一开始没有股票,但有至多两次买入1股而后卖出1股的机会,并且买入前一定要先保证手上没有股票。若两次交易机会都放弃,收益为0。 设计算法,计算你能获得的最大收益。 输入数值范围:2<=n<=100,0<=prices[i]<=100
public class Solution { public final static int MAXN=105; /** * 计算你能获得的最大收益 * * @param prices Prices[i]即第i天的股价 * @return 整型 */ public int calculateMax(int[] prices) { if(prices==null || prices.length<2){ return 0; } //left[i]表示0到i一次买入卖出最大收益 //minx表示最小股价 int left[]=new int[MAXN]; left[0]=0; int minx=prices[0]; for(int i=1;i<prices.length;i++){ left[i]=Math.max(left[i-1],prices[i]-minx); minx=Math.min(minx, prices[i]); } //right[i]表示i到len-1一次买入卖出最大收益 //minx表示最小股价 int right[]=new int[MAXN]; right[prices.length-1]=0; int maxx=prices[prices.length-1]; for(int i=prices.length-2;i>=0;i--){ right[i]=Math.max(right[i+1],maxx-prices[i]); maxx=Math.max(maxx, prices[i]); } int ans=0; for(int i=0;i<prices.length;i++){ ans=Math.max(ans,left[i]+right[i]); } return ans; }}
0 0
- 风口的猪-中国牛市
- 风口的猪-中国牛市
- 风口的猪-中国牛市
- 风口的猪-中国牛市
- 风口的猪-中国牛市
- 风口的猪-中国牛市
- 风口的猪-中国牛市
- 风口的猪-中国牛市--笔试题
- 风口上的猪-中国牛市
- 【小米】风口的猪-中国牛市
- 小米笔试题 风口的猪-中国牛市
- 风口的猪-中国牛市(小米2016校招)
- 小米笔试题 风口的猪-中国牛市
- java编程面试——风口的猪-中国牛市
- 剑指Offer----扩展:风口的猪-中国牛市(小米)
- java编程面试——风口的猪-中国牛市
- 每日AC-小米笔试 风口的猪-中国牛市
- 2016小米-风口的猪-中国牛市-Java
- Java中的static关键字解析
- c++的类在jsb中的内存管理
- 数据结构与算法基础(二)之线性表的顺序存储
- 原生js实现ajax
- UIScrollView 节省空间
- 风口的猪-中国牛市
- linux系统分区文件系统划分札记
- 两个数组的合并
- CodeForces 148D Bag of Mice 概率DP
- 23种设计模式(14):合成模式
- android程序中Zxing二维码扫描图片变形 问题解决方法
- #import与@class的区别
- android实现EditText中加多行下划线的一种方法
- 创建对象的 三种方法