blog

LeetCodeの問題解決:122.株の買い時と売り時II、JavaScript、1つのループ、詳細なコメント

すでにすべての時点の株価を知っています。 必要なのは、明日の価格が今日の価格より高ければ、取引が必要であることを意味すると判断することだけです。つまり、今日買って明日売るということです。 配列を繰り返...

Apr 8, 2020 · 1 min. read
シェア

元の質問へのリンク

問題解決のアイデア

  1. どの瞬間の株価もすでに判明しています。
  2. 単純に、明日の価格が今日よりも高ければ、取引が行われると判断します。つまり、今日買って明日売るのです。
  3. 配列を繰り返し、もしn+1日目の価格がn日目よりも高ければ、両者の価格差に利益が加算されます。
/**
 * @param {number[]} prices
 * @return {number}
 */
var maxProfit = function (prices) {
 let result = 0;
 for (let index = 0; index < prices.length - 1; index++) {
 // 現在の価格と翌日の価格の差を計算する。
 const dif = prices[index + 1] - prices[index];
 // 翌日の株価が高ければ、取引が必要であることを示す。
 if (dif > 0) {
 // 得られた差額を保存する。
 result += dif;
 }
 }
 return result;
};
Read next

ハッシュテーブルとハッシュアルゴリズム

まず、キーワードkがあるという前提の概要は、その値は、fの格納場所に格納されます。この方法では、比較することなく、レコードに直接アクセスすることができますチェック。 fは、ハッシュ関数、テーブルの確立の考え方によると、ハッシュテーブルです。しかし、fを計算する過程で、別のkによって計算されます。

Apr 8, 2020 · 4 min read