你现在是一个买卖青蛙的huster。每天的青蛙价格不一样,prices[i]代表青蛙在第i天的价格,求只做一次交易(买入1只,卖出1只)能得到的最大收益(你必须先买了青蛙之后才能卖青蛙)。
时间复杂度要求: 0 (n)
函数: int maxIncome (int prices[ ],int n)
例子:
第一天 | 第二天 | 第三天 | 第四天 |
青蛙售价4元 | 青蛙售价1元 | 青蛙售价2元 | 青蛙售价3元 |
聪明的做法是第二天1快钱买入,第四天3块钱卖出,净赚2元。
代码:(C)
#include<stdio.h>
static int a;//全局静态变量
int maxlncome(int price[],int n)
{
int i,max,min,w;
max=0;
min=price[0];
for(i=0;i<n;i++)
{
if(price[i]<min)
{
min=price[i];
w=i;//找到最小值的序号
}
}
for(i=w;i<n;i++)
{
if(price[i]>max)
{
max=price[i];
}
}
a=max-min;
return a;
}
int main(){
int i,n,k;
int b[500];
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&b[i]);
}
maxlncome(b,n);
printf("%d\n",a);
return 0;
}