嗨,编码员!在本教程中,我们将了解一个python编程语言中的简单问题。这个问题非常简单,但在很多工作面试中还是会被问到。
了解多数派元素问题
在这个程序中,用户需要输入一个有N个元素的数组A。然后代码的目的是找到数组中的多数元素。
大小为N的数组A中的多数元素是在数组中出现超过N/2次的元素。
该程序将返回多数元素,如果没有找到/存在多数元素,则返回-1。
在Python中实现多数元素查找器
在代码实现中,我们将首先获取数组大小的输入,然后获取数组中由空格分隔的所有元素。
然后我们将以字典的形式存储数组中每个元素的计数,在字典中完成元素与计数的映射。
最后,我们将用n/2检查每个元素的计数,只要计数大于n/2,我们就返回这个数字,否则就返回-1。
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
总结
我希望你对问题的陈述和代码的实现感到满意。是的,可以有多种方法来解决这个相同的问题。你能想到什么吗?
祝你学习愉快!😇