📅  最后修改于: 2023-12-03 14:55:00.004000             🧑  作者: Mango
在一个数组中,如果一个元素的值大于它右边的所有元素的值,那么这个元素就被称为领导者。本文将介绍如何编写一个Python程序来查找数组中的领导者。
leaders
,用于存储领导者元素。arr[i]
:arr[i]
大于右侧的所有元素,将其加入leaders
数组。leaders
反转,使其按照原数组的顺序排列。leaders
。以下是一个实现上述算法步骤的Python程序:
def find_leaders(arr):
n = len(arr)
leaders = []
max_right = arr[n-1]
# 遍历数组,找出领导者元素
for i in range(n-2, -1, -1):
if arr[i] > max_right:
leaders.append(arr[i])
max_right = max(max_right, arr[i])
# 反转领导者数组
leaders.reverse()
return leaders
可以使用以下示例测试上述程序:
arr = [16, 17, 4, 3, 5, 2]
leaders = find_leaders(arr)
print(leaders) # 输出 [17, 5, 2]
请根据实际情况修改数组和测试样例。
以上就是一个用于查找数组中领导者的Python程序。使用这个程序,你可以方便地找到一个数组中的所有领导者元素。