剑指offer之股票的最大利润

1 问题

求股票的最大利润,简言之就是求一个数组里面元素差的最大值,要求时间复杂度O(n)



2 代码实现

    #include <stdio.h>
    #include <stdlib.h>
     
    int maxDiff(int *number, int length)
    {
        if (NULL == number || length < 2)
        {
            return 0;
        }
        int min = number[0];
        int max = number[0];
        for (int i = 1; i < length; ++i)
        {
            if (min > number[i])
            {
                min = number[i];
            }
            if (max < number[i])
            {
                max = number[i];
            }
        }
        return max - min;
    }
     
     
    int main()
    {
        int a[] = {9, 11, 8, 5, 7, 12, 16, 14};
        int value = maxDiff(a, sizeof(a) / sizeof(int));
        printf("value id %d\n", value);
        return 0;
    }
     
    

 
3 运行结果

value id 11


 


作者:chen.yu
深信服三年半工作经验,目前就职游戏厂商,希望能和大家交流和学习,
微信公众号:编程入门到秃头 或扫描下面二维码
零基础入门进阶人工智能(链接)