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