遍历一次,存之前最小的股价就行 public: /** * * @param prices int整型vector * @return int整型 */ int maxProfit(vector<int>& p) { // write code here int dp[20000];//表示之前的最小值 int ans=0; dp[0]=p[0]; for(int i=1;i<p.size();i++){ dp[i]=min(p[i],dp[i-1]); ans=max(ans,p[i]-dp[i]); } return ans; } };