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

Pythonで良いトリプレットの数を見つけるためのプログラム


配列numsと、3つの異なる整数a、b、cがあるとします。良いトリプレットの数を見つけなければなりません。トリプレット(nums [i]、nums [j]、nums [k])は、次の条件が当てはまる場合に適切なトリプレットであると言われます-

  • 0 <=i

  • | nums [i]-nums [j] | <=a

  • | nums [j]-nums [k] | <=b

  • | nums [i]-nums [k] | <=c

良いトリプレットの数を数える必要があります。

したがって、入力がnums =[5,2,3,3,12,9]、a =7、b =2、c =3のような場合、適切なトリプレットは[(5、 2,3)、(5,2,3)、(5,3,3)、(2,3,3)]

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

  • res:=0

  • 0からnums-1のサイズのiの場合、実行します

    • 範囲i+1からnums-1のサイズのjの場合、実行

      • j + 1からnums-1のサイズのkの場合、実行

        • | nums [i] --nums[j]|の場合<=aおよび|nums[j] --nums [k] | <=bおよび|nums[i]-nums [k] | <=c、次に

          • res:=res + 1

  • 解像度を返す

例(Python)

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

def solve(nums, a, b, c):
   res = 0
   for i in range(len(nums)):
      for j in range(i+1, len(nums)):
         for k in range(j+1, len(nums)):
            if abs(nums[i] - nums[j]) <= a and abs(nums[j] - nums[k]) <= b and abs(nums[i] - nums[k]) <= c:
               res += 1
   return res

nums= [5,2,3,3,12,9]
a = 7
b = 2
c = 3
print(solve(nums, a, b, c))
>

入力

[5,2,3,3,12,9], 7, 2 3

出力

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. Pythonプログラムで数の偶数因子の合計を見つける

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −数値が与えられているので、数値のすべての偶数因子の合計を表示する必要があります。 アプローチ 数値が奇数かどうかを確認し、偶数の因子がないため、0を返します。 数が偶数の場合、計算を実行します。 20を除く他のすべての項は、偶数の因数の合計を生成するために乗算されます。 偶数因子のすべての奇数を削除するために、1である20を無視します。このステップの後、偶数因子のみを取得しました。 2は私たちが利用できる唯一の素数であることに注意してください。 次に、以下の実装を見てみましょう- 例 # math