算法 后减前最大值,zt

一个人知道未来n天的每天股票的价格,请你给出一个算法,使得这个人从哪天买入,哪天卖出能获得最大的收益。

  问题实际上就是求一个数组后面元素减前面元素的最大值

#include <stdio.h>
 #include <stdlib.h>
 
 int findMaxDiff(int a[], int len)
 {
     int i = 0;
     int minLeft = a[0];
     int max = a[1] - a[0];
     for(int i = 2; i < len; i++)
     {
         if(a[i - 1] < minLeft)
         {
             minLeft  = a[i-1];
         }
         if(a[i] - minLeft  > max)
         {
             max = a[i] - minLeft;
         }
     }
     return max;
 }  
 int main()
 {
     int a[7] = {4, 4, 2, 14, 1, 2, 15};
     printf("%d\n", findMaxDiff(a, 7));
     
     return 0;
 }

上一篇:LUA 学习笔记


下一篇:MWeb 1.3.7 发布!增加发布到 Wordpress 等支持 MetaWeblog API 的服务,如:Wordpress 博客、新浪博客、cnblogs、oschina。