Python、C++、JavaScript、SQL、TypeScript の多様な LeetCode ソリューションを探索してください。面接の準備、学習、複数のプログラミング言語でのコードの練習に最適です。 Github リポジトリ リンク
整数配列が与えられます 価格
どこ 価格[i]
は、特定の株式の価格です。 私は
日。
毎日、株式を購入または売却するか、あるいはその両方を決定できます。保有することのみが可能です。 多くても1つ ただし、いつでも株式を購入してすぐに売却することができます。 同日.
見つけて返す の 最大 達成できる利益.
例 1:
入力: 価格 = [7,1,5,3,6,4] 出力: 7 説明: 2 日目に購入 (価格 = 1)、3 日目に売却 (価格 = 5)、利益 = 5-1 = 4。その後、4 日目に購入 (価格 = 3)、5 日目に売却 (価格 = 6)、利益= 6-3 = 3。合計利益は 4 + 3 = 7 です。
例 2:
入力: 価格 = [1,2,3,4,5] 出力: 4 説明: 1 日目に購入 (価格 = 1)、5 日目に売却 (価格 = 5)、利益 = 5-1 = 4。合計利益は 4 です。
例 3:
入力: 価格 = [7,6,4,3,1] 出力: 0 説明: 利益をプラスにする方法はないので、最大利益を0にするために株を買うことはありません。
制約:
1 <= 価格.長さ <= 3 * 10 4
0 <= 価格[i] <= 10 4
パイソン
# 時間計算量: O(n) # 空間計算量: import リスト クラスの入力による O(1) 解決策: def maxProfit(self,price: List[int]) -> int:profit = 0 for i in range(1, len) (価格)): 価格[i] > 価格[i-1]の場合: 利益 += 価格[i] - 価格[i-1] 利益を返します 価格 = [7, 1, 5, 3, 6, 4] print (ソリューション().maxProfit(価格))