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

Pythonの数のリストから等差数列の数を見つけるプログラム?


numsと呼ばれる数のリストがあるとすると、長さが3以上の連続する等差数列の数を見つける必要があります。等差数列は、ある数と次の数の差が同じである数のリストです。

したがって、入力がnums =[6、8、10、12、13、14]のような場合、次のような等差数列があるため、出力は4になります。[6、8、10] [8、10 12] [6、8、10、12] [12、13、14]

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

  • count:=0、ans:=0

  • 2からnumsのサイズの範囲のiの場合、実行します

    • nums[i]-nums[i-1]がnums[i-1]-nums[i-2]と同じである場合、

      • count:=count + 1

    • それ以外の場合

      • ans:=ans +(count *(count + 1))/ 2

        の商
      • カウント:=0

  • countがゼロ以外の場合、

    • ans:=ans +(count *(count + 1))/ 2

      の商
  • ansを返す

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

class Solution:
   def solve(self, nums):
      count = 0
      ans = 0
      for i in range(2, len(nums)):
         if nums[i] - nums[i - 1] == nums[i - 1] - nums[i - 2]:
            count += 1
         else:
            ans += (count * (count + 1)) // 2
            count = 0
      if count:
         ans += (count * (count + 1)) // 2
      return ans

ob = Solution()
nums = [6, 8, 10, 12, 13, 14]
print(ob.solve(nums))

入力

[6, 8, 10, 12, 13, 14]

出力

4

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

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

  2. リストからN個の最大の要素を見つけるPythonプログラム

    整数リストが与えられた場合、私たちのタスクはリスト内で最大のN個の要素を見つけることです。 例 Input : [40, 5, 10, 20, 9] N = 2 Output: [40, 20] アルゴリズム Step1: Input an integer list and the number of largest number. Step2: First traverse the list up to N times. Step3: Each traverse find the largest value and store it in a new list. 例 def Nnumbere