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

Pythonでソートされた順序で二乗要素リストを見つけるプログラム


numsと呼ばれる数値のリストがあり、要素が昇順で並べ替えられているとすると、要素を2乗して、並べ替えられた順序で結果を返す必要があります。

したがって、入力がnums =[-8、-3、0、5、6]のような場合、出力は[0、9、25、36、64]

になります。

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

  • n:=numsのサイズ
  • l:=0
  • r:=n-1
  • インデックス:=n-1
  • res:=numsと同じサイズのリストで、0で埋めます
  • インデックス>=0の場合、実行
    • if | nums [l] |> | nums [r] |、次に
      • res [index]:=nums [l] * nums [l]
      • l:=l + 1
    • それ以外の場合、
      • res [index]:=nums [r] * nums [r]
      • r:=r-1
    • index:=index-1
  • return res

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

def solve(nums):
   n = len(nums)
   l = 0
   r = n - 1
   index = n - 1
   res = [0 for i in range(len(nums))]
   while index >= 0:
      if abs(nums[l]) > abs(nums[r]):
         res[index] = nums[l] * nums[l]
         l += 1
      else:
         res[index] = nums[r] * nums[r]
         r -= 1
      index -= 1

   return res

nums = [-8, -3, 0, 5, 6]
print(solve(nums))

入力

[-8, -3, 0, 5, 6]

出力

[0, 9, 25, 36, 64]

  1. リスト内の要素の合計を見つけるPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力としてリストが与えられた場合、与えられたリストの合計を計算する必要があります。 ここでは、考慮すべき2つのアプローチがあります。つまり、組み込み関数を使用する方法と、ブルートフォースアプローチを使用する方法です。 アプローチ1-組み込み関数の使用 例 # main arr = [1,2,3,4,5] ans = sum(arr) print ('Sum of the array is ',ans) 出力 15 すべての変数と関数はグローバルスコープで宣言されて

  2. 3つのソートされた配列で共通の要素を見つけるPythonプログラム?

    ここでは、最初にユーザー入力のソートされていない配列である3つの配列を作成し、次に3つのソートされていない配列すべてをソートします。配列のサイズはn1、n2、n3です。すべての配列の開始アドレスは0.i =0、j =0、k =0です。次に、3つの配列のすべての要素をトラバースし、3つの配列の要素が同じかどうかを確認します。そうでない場合は、要素を印刷し、そうでない場合は次の要素に進みます。 例 A = {1, 2, 3, 4, 5} B = {2, 5, 12, 22, 7} C = {1, 9, 2, 89, 80} 出力 2 アルゴリズム commonele(A1,A2,A3,n