风口之下,猪都能飞。当今中国股市牛市,真可谓“错过等七年”。 给你一个回顾历史的机会,已知一支股票连续n天的价格走势,以长度为n的整数数组表示,数组中第i个元素(prices[i])代表该股票第i天的股价。 假设你一开始没有股票,但有至多两次买入1股而后卖出1股的机会,并且买入前一定要先保证手上没有股票。若两次交易机会都放弃,收益为0。 设计算法,计算你能获得的最大收益。 输入数值范围:2<=n<=100,0<=prices[i]<=100

输入例子:

3,8,5,1,7,8

输出例子:

12

1 1 收藏


直接登录
最新评论
  • Tarkhnas   03/25

    step1 数组中最小 和 第二小的值

    step2 按step1 的结果的下标 分割原数组为两个子数组, step1 结果分别就是各子数组最小值

    step3 分别找出两个子数组中的最大值

    step4 两个子数组最大最小值差 的和就是结果

     

    例子 3,8,5,1,7,8

    step1  -> 3 , 1

    step2  -> [3,8,5] [1,7,8]

    step3  -> 8 , 8

    step4  -> (8-3) + (8-1) = 12

    • 含章   03/28

      这个算法不够严密,比如,数组1,3,9,3,8,2,3最有数对是1,9,3,8,而按照本算法,仅得1,9,2,3