Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで株式市場で複数回購入することで得られる最大の利益を見つけるためのプログラム


会社の株価を時系列で表す価格のリストがあるとすると、その株を何度でも売買することで得られる最大の利益を見つける必要があります。販売する前に購入する必要があることを覚えておく必要があります。

したがって、入力が価格=[10、50、30、40、60]の場合、出力は70になります。これは、10で購入、50で販売、30で購入、60で販売できるためです。

これを解決するには、次の手順に従います-

  • prev_price:=無限大
  • 利益:=0
  • 価格の各pについて、
    • p> prev_priceの場合、
      • 利益:=利益+ p --prev_price
    • prev_price:=p
  • 利益を返す

理解を深めるために、次の実装を見てみましょう-

class Solution:
   def solve(self, prices):
      prev_price = float("inf")
      profit = 0
      for p in prices:
         if p > prev_price:
            profit += p - prev_price
            prev_price = p
      return profit
ob = Solution()
print(ob.solve([10, 50, 30, 40, 60]))

入力

[10, 50, 30, 40, 60]

出力

70

  1. Pythonで一度株式市場で購入することで得られる最大の利益を見つけるためのプログラム

    会社の株価を時系列で表す価格のリストがあるとすると、その株を1回だけ売買することで得られる最大の利益を見つける必要があります。販売する前に購入する必要があることを覚えておく必要があります。 したがって、入力が価格=[10、12、9、6、8、12]の場合、出力は6になります。これは、6で購入し、12で販売できるためです。 これを解決するには、次の手順に従います- max_profit:=0 min_stock:=無限大 価格の各価格について、 max_profit:=max_profitの最大値と(price --min_stock) min_stock:=min_stockと価

  2. 最大3つの数字を見つけるPythonプログラム

    このチュートリアルでは、3つの数字から最大量を見つけるプログラムを作成します。 3つの数字があり、その3つの数字から最大数を見つけることが目標です。 理解を深めるために、いくつかのサンプルテストケースを見てみましょう。 Input: a, b, c = 2, 34, 4 Output: 34 Input: a, b, c = 25, 3, 12 Output: 25 Input: a, b, c = 5, 5, 5 Output: 5 以下の手順に従って、3つの数字の中から最大数を見つけてください。 アルゴリズム 1. Initialise three numbers a, b