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

パーティション化できるサブリストの数を見つけるプログラム。指定されたリストは最終的にPythonでソートされます。


numsという番号のリストがあるとします。リストをいくつかの個別のサブリストに分割してから、各部分を並べ替えることができます。後で全体としてnumsがソートされるように、分割できるサブリストの最大数を見つける必要があります。

したがって、入力がnums =[4、3、2、1、7、5]の場合、出力は2になります。これは、[4、3、2、1]や[7、 5]

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

  • count:=0
  • main_sum:=0、sorted_sum:=0
  • numsの各要素xおよびnumsのソートされた形式のyについて、do
    • main_sum:=main_sum + x
    • sorted_sum:=sorted_sum + y
    • main_sumがsorted_sumと同じ場合、
      • count:=count + 1
  • 返品数

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

class Solution:
   def solve(self, nums):
      count = 0
      main_sum = sorted_sum = 0

      for x, y in zip(nums, sorted(nums)):
         main_sum += x
         sorted_sum += y
         if main_sum == sorted_sum:
            count += 1

      return count

ob = Solution()
nums = [4, 3, 2, 1, 7, 5]
print(ob.solve(nums))

入力

[4, 3, 2, 1, 7, 5]

出力

2

  1. リスト内の最小数を見つけるPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが表示されます。リストで利用可能な最小の番号を表示する必要があります ここでは、リストを並べ替えて最小の要素を取得するか、組み込みのmin()関数を使用して最小の要素を取得できます。 次に、以下の実装の概念を観察しましょう- 例 list1 = [101, 120, 104, 145, 99] # sorting using built-in function list1.sort() print("Smallest element is:", list1[0]) 出力 Smal

  2. リスト内で最大数を見つけるPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 与えられたリスト入力では、与えられたリストの中で最大の数を見つける必要があります。 ここでは、2つのアプローチについて説明します 並べ替え手法の使用 組み込みのmax()関数を使用する アプローチ1-組み込みのsort()関数を使用する 例 list1 = [18, 65, 78, 89, 90] list1.sort() # main print("Largest element is:", list1[-1]) 出力 Largest element is: