[📣トップ面接問題]ベストタイムはBuyとSell Stock IIで解答!


  • クイズクリップ
  • 👓 問題の概要


    あるものの値段は毎日違います.
    毎日違う価格であげます...
    私を豊かにしましょう!!
    トピックコードのホームページと問題の説明を参照してください。問題に答える

    🔑 問題を解く


    価格がいつ下がるか(下がる、上がる、下がる)にポイントを与えればいいです.
    下降上昇はその場所で買い、上昇下降は売る.
    もっと簡単に解決したいなら.
    prices[i] < prices[i + 1]
    仕事中にもう少し差をつければいいと思います

    🥽 ソースコードとソースコード分析

    var maxProfit = function (prices) {
      let buyDate = -1;
      let profit = 0;
      for (let i = 0; i < prices.length; i++) {
        if (prices[i] < prices[i + 1]) {
          if (buyDate === -1) {
            buyDate = i;
          }
        } else {
          //감소할때 팔면 이득.
          if (buyDate !== -1) {
            profit += prices[i] - prices[buyDate];
            buyDate = -1;
          }
        }
      }
      return profit;
    };

    🔨 問題ポスト


    やれやれ簡単すぎるハード問題に挑戦した時に略奪された.
    暇があればHardの問題をしなければならない.