算法3:找出一个整数数组里面两个查值最大的两个下标a[j]-a[i]最大并且i<j
2014-07-25 16:45
981 查看
此道题可以引申为:一个月的股票信息存储在一个整数数组里面,请你找出受益最大的值。
public class deltaMost {
public static void mostDelta(int [] nums)
{
int sell = -1;
int buy = -1;
int min=0;
int mostDelt = 0;
for(int i=0; i < nums.length; i++)
{
if( nums[i] < nums[min])
{
min = i;
}
int delta = nums[i] - nums[min];
if(delta > mostDelt)
{
buy = min;
sell = i;
mostDelt = delta;
}
}
System.out.println("sell is " + sell);
System.out.println("buy is " + buy);
}
public static void main(String [] args)
{
int [] nums = {10,200, 2, 300, 4, 49, 40,500};
deltaMost.mostDelta(nums);
}
}
public class deltaMost {
public static void mostDelta(int [] nums)
{
int sell = -1;
int buy = -1;
int min=0;
int mostDelt = 0;
for(int i=0; i < nums.length; i++)
{
if( nums[i] < nums[min])
{
min = i;
}
int delta = nums[i] - nums[min];
if(delta > mostDelt)
{
buy = min;
sell = i;
mostDelt = delta;
}
}
System.out.println("sell is " + sell);
System.out.println("buy is " + buy);
}
public static void main(String [] args)
{
int [] nums = {10,200, 2, 300, 4, 49, 40,500};
deltaMost.mostDelta(nums);
}
}
相关文章推荐
- 风口之下,猪都能飞。当今中国股市牛市,真可谓“错过等七年”。 给你一个回顾历史的机会,已知一支股票连续n天的价格走势,以长度为n的整数数组表示,数组中第i个元素(prices[i])代表该股票第i天的股价。 假设你一开始没有股票,但有至多两次买入1股而后卖出1股的机会,并且买入前一定要先保证手上没有股票。若两次交易机会都放弃,收益为0。 设计算法,计算你能获得的最大收益。 输入数值范围:2<=n<
- 给定一个整数数组,找出两个下标,要求后面下标所指的数减去前面下标所指的数之差最大
- [算法学习]给定一个整型数组,找出两个整数为指定整数的和(1)
- [算法学习]给定一个整型数组,找出两个整数为指定整数的和(2)
- [算法学习]给定一个整型数组,找出两个整数为指定整数的和(1)
- 在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。
- 一个整数数组里面,除了两个数之外,其他的数字都出现了两次,写一个程序找出这两个数
- [算法学习]给定一个整型数组,找出两个整数为指定整数的和(3)
- 【谷歌面试题】给出一个数组A,找出一对 (i, j)使得A[i] <= A[j] (i < j)并且j-i最大
- 给出一个数组A,找出一对 (i, j)使得A[i] <= A[j] (i < j)并且j-i最大
- 一个无序整数数组,数组元素大于5个,请用一种高效的算法找出其中最大的5个值.
- [算法学习]给定一个整型数组,找出两个整数为指定整数的和(2)
- 问题描述如下: 有2.5亿个整数(这2.5亿个整数存储在一个数组里面,至于数组是放在外存还是内存,没有进一步具体说明); 要求找出这2.5亿个数字里面,不重复的数字的个数; 另外,可用的内存限定为600M; 要求算法尽量高效,最优;
- [算法学习]给定一个整型数组,找出两个整数为指定整数的和(3)
- 典型的Top K算法_找出一个数组里面前K个最大数...或找出1亿个浮点数中最大的10000个...一个文本文件,找出前10个经常出现的词,但这次文件比较长,说是上亿行或十亿行,总之无法一次读入内存,
- 一个整数数组(正负,0),找出这个数组的最大子序列
- 162 有2个数组,里面有 N 个整数,看是否两个数组里存在一个同样的数
- 典型的Top K算法_找出一个数组里面前K个最大数
- 算法习题61:找出数组中两个只出现一次的数字:一个整型数组里除了两个数字之外,其他的数字都出现了两次
- 有一个array的数组,长度为10000,大小不一,用算法找出该数组中的最大值。