Pythonで1からnの範囲のn+1個の数値から重複する要素を見つけるプログラム
長さn+1のnumsと呼ばれる数値のリストがあるとします。これらの数値は、範囲1、2、...、nから選択されます。ご存知のように、鳩の巣原理を使用すると、重複が存在する必要があります。それを見つけて返送する必要があります。
したがって、入力が[2、1、4、3、3]の場合、出力は3
になります。これを解決するには、次の手順に従います-
- l:=numsのサイズ
- temp:=l *(l-1)/ 2
- temp_sum:=numsのすべての要素の合計
- return(temp_sum --temp)
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, nums): l = len(nums) temp = l*(l-1)/2 temp_sum = sum(nums) return temp_sum-temp ob = Solution() print(ob.solve([2, 1, 4, 3, 3]))
入力
[2, 1, 4, 3, 3]
出力
3
-
Pythonで合計kになるリスト内の任意の2つの数値を検索するプログラム
numsと呼ばれる数のリストがあり、別の数kがあるとすると、リストに存在する2つの数の合計がkになるかどうかを確認する必要があります。同じ要素を2回使用しないでください。また、数値は負または0にすることができます。 したがって、入力がnums =[45、18、9、13、12]、k =31のような場合、出力はTrueになります(18 + 13 =31 )。 これを解決するには、次の手順に従います- temp_set:=新しいセット numsの各numに対して、実行します numがtemp_setにある場合、 Trueを返す temp_setに(k-num)を追加します Fa
-
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