一、题目内容

image.png

二、题解

解法1:

思路

代码

  1. public class Solution {
  2. public int maxProfit (int[] prices) {
  3. // write code here
  4. if(prices == null||prices.length<2){
  5. return 0;
  6. }
  7. int len = prices.length;
  8. int buy1 = -prices[0],sell1 = 0;
  9. int buy2 = -prices[0],sell2 = 0;
  10. for(int i = 1;i<len;i++){
  11. buy1 = Math.max(buy1,-prices[i]);
  12. sell1 = Math.max(sell1, buy1+prices[i]);
  13. buy2 = Math.max(buy2,sell1-prices[i]);
  14. sell2 = Math.max(sell2, buy2+prices[i]);
  15. }
  16. return sell2;
  17. }
  18. }