この記事では、pythonプログラミング言語の簡単な問題を理解することにします。
この問題はとても簡単ですが、多くの就職面接で聞かれる可能性があります。
マジョリティー・エレメントの問題を理解する
このプログラムでは,ユーザはN個の要素を持つ配列Aを入力する必要がある.このプログラムは,配列中の多数決要素を見つけることを目的としている.
サイズ N の配列 A の多数決要素とは,配列中に N/2 回以上出現した要素のことである.
プログラムは多数決要素を返すか、多数決要素が見つからない/存在しない場合は-1を返す。
Pythonによるマジョリティ要素探索の実装
実装では、まず配列のサイズを入力し、スペースで区切って配列の全要素を取得します。
次に、配列の各要素の個数を辞書形式で保存し、要素の個数と対応させます。
最後に、各要素のカウントをn/2でチェックし、カウントがn/2より大きくなるたびにその数を返し、そうでない場合は-1を返すことになります。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
def check_majority(arr, N):
map = {}
for i in range ( 0 , N):
if arr[i] in map .keys():
map [arr[i]] + = 1
else :
map [arr[i]] = 1
for key in map :
if map [key] > (N / 2 ):
return key
return - 1
arr = list ( input ( "Enter elements of array:" ))
size = len (arr)
ans = check_majority(arr, size)
if ans ! = - 1 :
print ( "Majority Element is: " , ans)
else :
print ( "No majority element in array" )
|
この記事もチェック:Pythonのリストの最初と最後の要素を取得する方法を解説する
サンプル出力
Enter elements of array: 1111111212121
Majority Element is : 1
|
まとめ
問題文とコードの実装について、ご理解いただけたでしょうか。
そして、この同じ問題を解決する方法は複数存在する可能性があります。
それでは、よい勉強を