嘿,编码员!因此,在本教程中,我们将了解 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" ) |
样本输出
Enter elements of array: 1111111212121 Majority Element is : 1 |
结论
我希望您能够清楚问题陈述和代码实现。是的,解决同一问题可以有多种方法。你能想到任何一个吗?
快乐学习!😇