思路
因为只有唯一一次的交易次数,所以肯定要在前面选一个小的,在后面选一个大的。
用
m
i
n
x
minx
minx 维护当前
1
→
i
−
1
1\to i-1
1→i−1 的最小值,然后就直接更新答案就可以了。
代码
class Solution {
public:
int maxProfit(vector
<int>& a
) {
int minx
=0x3fffffff,ans
=0;
for(int i
=0;i
<a
.size();i
++){
ans
=max(ans
,a
[i
]-minx
);
minx
=min(minx
,a
[i
]);
}
return ans
;
}
};