Pythonでサイズkの辞書式に最小のサブシーケンスを見つけるプログラム
numsと呼ばれる数値のリストと別の値kがあるとすると、サイズkの辞書式順序で最小のサブシーケンスを見つける必要があります。
したがって、入力がnums =[2、3、1、10、3、4] k =3の場合、出力は[1、3、4]
になります。これを解決するには、次の手順に従います-
- l:=numsのサイズ、r:=k-1
- out:=新しいリスト
- 0からkの範囲のjについては、
- mn:=nums[rの補集合]
- rからlの範囲のiについては、
- mn> =nums [complement of i]の場合、
- mn:=nums [complement of i]
- l:=i
- mn> =nums [complement of i]の場合、
- r:=r-1
- outの最後にmnを挿入
- 戻る
例(Python)
理解を深めるために、次の実装を見てみましょう-
class Solution: def solve(self, nums, k): l, r = len(nums), k - 1 out = [] for j in range(k): mn = nums[~r] for i in range(r, l): if mn >= nums[~i]: mn = nums[~i] l = i r -= 1 out.append(mn) return out ob = Solution() nums = [2, 3, 1, 10, 3, 4] k = 3 print(ob.solve(nums, k))
入力
[2, 3, 1, 10, 3, 4], 3
出力
[1, 3, 4]
-
リスト内の最小数を見つけるPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが表示されます。リストで利用可能な最小の番号を表示する必要があります ここでは、リストを並べ替えて最小の要素を取得するか、組み込みのmin()関数を使用して最小の要素を取得できます。 次に、以下の実装の概念を観察しましょう- 例 list1 = [101, 120, 104, 145, 99] # sorting using built-in function list1.sort() print("Smallest element is:", list1[0]) 出力 Smal
-
2D配列でk番目に小さい要素を見つけるPythonプログラム
1つのn×nユーザー入力整数行列が与えられ、kの値。私たちのタスクは、2D配列でk番目に小さい要素を見つけることです。ここでは、Pythonでheapq mudule.Heapキュー(またはheapq)を使用します。 Pythonでは、「heapq」モジュールを使用して利用できます。 Pythonでのこのモジュールの手法は、最小のヒープ要素がポップされるたびに(min heap).nsmallest()メソッドを使用して、データフレームまたはシリーズからn個の最小値を取得します。 例 Input Array is:: 10 20 20 40 15 45 40 30 32 33 30 50