problemscpp
A collection of my answers to algorithm problems in c++.
静态 Public 成员函数 | 所有成员列表
leetcode::best_time_to_buy_and_sell_stock_iii::Solution类 参考

#include <leetcode.h>

静态 Public 成员函数

static int maxProfit (vector< int > &prices)
 

详细描述

在文件 leetcode.h3152 行定义.

成员函数说明

◆ maxProfit()

int leetcode::best_time_to_buy_and_sell_stock_iii::Solution::maxProfit ( vector< int > &  prices)
static

在文件 leetcode.cpp8964 行定义.

8964 {
8965 vector dp(5, vector<long>(prices.size(), -10000000000));
8966 // 0 - 不持有
8967 // 1 - 第一次持有
8968 // 2 - 第一次卖出
8969 // 3 - 第二次持有
8970 // 4 - 第二次卖出
8971 dp[0][0] = 0;
8972 dp[1][0] = -prices[0];
8973 for(int i = 1; i < prices.size(); i++) {
8974 dp[0][i] = dp[0][i - 1];
8975 dp[1][i] = max(dp[1][i - 1], dp[0][i - 1] - prices[i]);
8976 dp[2][i] = max(dp[2][i - 1], dp[1][i - 1] + prices[i]);
8977 dp[3][i] = max(dp[3][i - 1], dp[2][i - 1] - prices[i]);
8978 dp[4][i] = max(dp[4][i - 1], dp[3][i - 1] + prices[i]);
8979 }
8980 long ans = dp[0].back();
8981 for(int i = 1; i <= 4; i++) {
8982 ans = max(ans, dp[i].back());
8983 }
8984 return ans;
8985 }

被这些函数引用 leetcode::best_time_to_buy_and_sell_stock_iii::TEST().


该类的文档由以下文件生成: