0
点赞
收藏
分享

微信扫一扫

动态规划——买卖股票的最佳时机

佛贝鲁先生 2022-03-11 阅读 49

一、题目描述

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。

你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。

返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。

在这里插入图片描述

二、C语言代码

int maxindex = 0;
int minindex = 0;
int maxProfit(int* prices, int pricesSize){
    if(pricesSize == 1){
        maxindex = 0;
        minindex = 0;
        return 0;
    }
    int current = prices[pricesSize - 1];
    int profit = maxProfit(prices, pricesSize - 1);
    if(current - prices[minindex] > profit)
        profit = current - prices[minindex];
    else{
        if(current < prices[minindex]){
            minindex = pricesSize - 1;
        }
    }
    return profit;
}
举报

相关推荐

0 条评论