Menu
CoddyTech

Leaders in an Array

给你一个整数数组 nums。如果一个元素大于或等于它右侧的所有元素,它就是一个领导元素。最后一个元素右侧没有元素,所以它始终是领导元素。按领导元素在 nums 中从左到右出现的顺序,返回所有领导元素。

函数

leaders(nums: integer-array) → integer-array
numsinteger-array
要搜索的整数数组
返回值integer-array
nums 的前导元素,从左到右

约束条件

  • 1 ≤ nums.length ≤ 25000
  • -109 ≤ nums[i] ≤ 109

示例

输入
nums = [12, 5, 9, 3, 6, 2]
输出
[12, 9, 6, 2]
解释
2 排在最后,所以它先移动。6 大于它后面的 2,9 大于 3、6 和 2,12 大于所有数字。5 不如 9,3 不如 6,所以答案是 [12, 9, 6, 2]。
challenge icon

进阶

如果值是逐个到达的,并且每次到达后都必须报告目前的领先者,那么怎样才能做到每个值的摊销更新时间为 O(1)?

重置代码
def leaders(nums):
    # 在这里编写代码

测试 #1

测试 #2

测试 #3

参数

nums = [12, 5, 9, 3, 6, 2]

预期输出

[12, 9, 6, 2]