Pythonで多数決した候補者のIDを見つけるプログラム
n個の値を含むnumsと呼ばれる数値のリストがあるとします。ここで、各数値は候補者への投票を表します。投票数がfloor(n / 2)を超える候補者のIDを見つける必要があり、多数決がない場合は-1を返します。
したがって、入力がnums =[6、6、2、2、3、3、3、3、3]の場合、出力は3になります。
これを解決するには、次の手順に従います-
- l:=numsのサイズ
- count:=個々の番号とその出現を含むマップ
- カウントの各数iと出現jについて、実行します
- j>(l / 2)の場合、
- 私を返す
- j>(l / 2)の場合、
- 戻り値-1
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, nums): l = len(nums) from collections import Counter count = Counter(nums) for i, j in count.items(): if j > (l // 2): return i return -1 ob = Solution() nums = [6, 6, 2, 2, 3, 3, 3, 3, 3] print(ob.solve(nums))
入力
[6, 6, 2, 2, 3, 3, 3, 3, 3]
出力
3
-
Pythonで最長の連続シーケンスの長さを見つけるプログラム
並べ替えられていない数値の配列があるとすると、連続する要素の最長シーケンスの長さを見つける必要があります。 したがって、入力がnums =[70、7、50、4、6、5]の場合、連続する要素の最長シーケンスは[4、5、6、7]であるため、出力は4になります。したがって、その長さを返します:4。 これを解決するには、次の手順に従います- nums:=numsのすべての一意の要素 max_cnt:=0 numsのnumごとに、実行します num-1がnumsにない場合、 cnt:=0 numがnumsに存在する間、実行します num:=num + 1
-
Pythonで1からNまでのすべての欠落している数字を見つけるプログラム
サイズnのnumsと呼ばれる数値のリストがあり、リスト内のすべての数値が区間[1、n]に存在するとします。一部の要素は、2回表示され、他の要素は1回だけ表示される場合があります。リストにないように、[1、n]からすべての番号を見つける必要があります。昇順でソートされた番号を返す必要があります。線形の時間と一定のスペースを必要とする解決策を見つけようとする必要があります。 したがって、入力が[4、4、2、2、6、6]の場合、出力は[1、3、5]になります。 これを解決するには、次の手順に従います- arr:=サイズnums + 1の配列で、0で埋めます numsの各iについて、 ar