一次过
1 class Solution { 2 public: 3 int maxProfit(vector<int> &prices) { 4 // Start typing your C/C++ solution below 5 // DO NOT write int main() function 6 if (prices.size() <= 1) return 0; 7 int minprice = prices[0]; 8 int maxprofit = 0; 9 for (int i = 1; i < prices.size(); i++) { 10 minprice = min(minprice, prices[i]); 11 maxprofit = max(maxprofit, prices[i]-minprice); 12 } 13 return maxprofit; 14 } 15 };
Java
1 public class Solution { 2 public int maxProfit(int[] prices) { 3 int ans = 0; 4 if (prices.length < 2) return ans; 5 int minPrice = prices[0]; 6 for (int i = 1; i < prices.length; i++) 7 { 8 ans = Math.max(ans, prices[i] - minPrice); 9 minPrice = Math.min(minPrice, prices[i]); 10 } 11 return ans; 12 } 13 }