知识点
枚举
思路
我们枚举买入的日子,并找到后面的最大的值作为卖出的日子,正常可以二重循环。如果从后向前枚举,并维护最大值,可以做到的时间复杂度。
AC Code(C++)
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param prices int整型vector * @return int整型 */ int max_profit(vector<int>& prices) { int n = prices.size(); int mx = prices[n - 1]; int res = 0; for (int i = n - 2; i >= 0; i --) { res = max(res, mx - prices[i]); mx = max(mx, prices[i]); } return res; } };