笔试题(四)

笔试题(四)

题目 风口的猪-中国牛市


思路分析:
假设第i天买入第二只股票,则总的受益为第0~i-1天的最大受益加上第i天到最后一天的最大受益。

int maxsum(int a[],int i,int len);

这个函数计算在第i天买入第二只股票的最大受益

程序代码:

#include<stdio.h>
int maxsum(int a[],int i,int len);
int price[105]={0};
int main()
{
    int p,i=0;
    while(scanf("%d",&p)==1)
    {
        price[i]=p;
        i++;
    }
    printf("结束输入\n");
    int count =i;
    int sum = 0;
    int tmp =0;
    for(i=2;i<count-2;i++)
    {
        tmp = maxsum(price,i,count);
        if(tmp>sum)
            sum = tmp;

    }
    printf("%d",sum);
}
//len 表示数组长度,i表示第i天第二次买入股票
int maxsum(int a[],int i,int len) 
{
    int max1,max2,min,k;
    max1 = 0;
    max2=0;
    min= a[0];
    for(k=1;k<i;k++)
    {
        if((a[k]-min)>max1)
            max1=a[k]-min;
        if(a[k]<min)
            min = a[k];
    }
    max2=-100;
    for(k=i+1;k<len;k++)
    {
        if((a[k]-a[i])>max2)
            max2=a[k]-a[i];
    }
    return max1+max2;   
}
全部评论

相关推荐

10-11 15:42
皖西学院 Java
青鱼LINK:我硕士,也是java0面试,吾道不孤
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务