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

次の要素がPythonの配列にもある要素をカウントするプログラム


numsなどの数値のリストがあるとすると、配列内の要素xの数を見つけて、x+1も配列内に存在するようにする必要があります。

したがって、入力がnums =[4、2、3、3、7、9]の場合、2 + 1 =3が存在し、3 + 1 =4が存在し、別の3が存在するため、出力は3になります。合計3を提示します。

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

  • 答え:=0

  • c:=numsに存在する各要素の頻度を含むリスト

  • dlist:=cのすべてのキーのリストからのリスト

  • dlistの各iについて、実行します

    • c [i + 1]> 0の場合、

      • 回答:=回答+ c [i]

  • 回答を返す

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

from collections import Counter
def solve(nums):
   answer = 0
   c = Counter(nums)
   dlist = list(c.keys())
   for i in dlist:
      if c[i + 1] > 0:
         answer += c[i]

   return answer

nums = [4, 2, 3, 3, 7, 9]
print(solve(nums))

入力

[4, 2, 3, 3, 7, 9]

出力

3

  1. 配列内の反転をカウントするPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが表示されます。必要な反転をカウントして表示する必要があります。 反転カウントは、配列をソートするために必要なステップ数をカウントすることによって取得されます。 次に、以下の実装のソリューションを見てみましょう- 例 # count def InvCount(arr, n):    inv_count = 0    for i in range(n):       for j in range(i + 1, n):  

  2. 配列の合計を見つけるPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力として配列が与えられた場合、与えられた配列の合計を計算する必要があります。 ここでは、ブルートフォースアプローチに従うことができます。つまり、リストをトラバースし、各要素を空の合計変数に追加します。最後に、合計の値を表示します。 以下で説明するように、組み込みの合計関数を使用して別のアプローチを実行することもできます。 例 # main arr = [1,2,3,4,5] ans = sum(arr,n) print ('Sum of the array is '