与えられた操作によってリストを減らし、Pythonで残りの最小数を見つけるプログラム
numsと呼ばれる正の数のリストがあるとします。ここで、a≤bである任意の2つの値aとbを削除し、a
したがって、入力がnums =[2、4、5]の場合、出力は1になります。これは、4と5を選択し、1を挿入して[2、1]を取得できるためです。次に、2と1を選択して、[1]を取得します。
これを解決するには、次の手順に従います-
- s:=numsに存在するすべての要素の合計
- 関数f()を定義します。これには私がかかります、s
- i> =numsのサイズの場合、
- return s
- n:=nums [i]
- s-2 * n <0の場合、
- return f(i + 1、s)
- f(i + 1、s-2 * n)およびf(i + 1、s)の最小値を返す
- メインメソッドからf(0、s)を返します
例
理解を深めるために、次の実装を見てみましょう-
def solve(nums): s = sum(nums) def f(i, s): if i >= len(nums): return s n = nums[i] if s - 2 * n < 0: return f(i + 1, s) return min(f(i + 1, s - 2 * n), f(i + 1, s)) return f(0, s) nums = [2, 4, 5] print(solve(nums))
入力
[2, 4, 5]
出力
1
-
リスト内の最小数を見つけるPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが表示されます。リストで利用可能な最小の番号を表示する必要があります ここでは、リストを並べ替えて最小の要素を取得するか、組み込みのmin()関数を使用して最小の要素を取得できます。 次に、以下の実装の概念を観察しましょう- 例 list1 = [101, 120, 104, 145, 99] # sorting using built-in function list1.sort() print("Smallest element is:", list1[0]) 出力 Smal
-
与えられた範囲内で乱数を生成してリストに保存するPythonプログラム?
ここでは、3つのユーザー入力変数が使用されます。1つは開始番号、もう1つは終了番号、最後の1つは表示する乱数の数です。 Pythonは、乱数を生成するためのランダムモジュールを提供します。ここでは、放射関数とともにランダム関数を使用します。 例 n :: 10 s :: 20 e :: 40 [20, 35, 32, 27, 24, 35, 28, 31, 20, 28] アルゴリズム Randomno(s,e,n) Step 1 : input starting range(s), ending range(e) and number of elements needs to be a