📌  相关文章
📜  大于左边所有元素的数组元素的数量(1)

📅  最后修改于: 2023-12-03 15:08:11.186000             🧑  作者: Mango

大于左边所有元素的数组元素的数量

给定一个整数数组,对于数组中的每个元素,计算它是否大于其左侧所有元素,并返回满足条件的元素数量。

解法

我们可以用一个变量 maxVal 来跟踪当前遍历过的最大值, 如果当前元素大于 maxVal,则它就是符合条件的元素。

代码如下:

def count_elements(nums):
    count = 0
    max_val = float('-inf')

    for num in nums:
        if num > max_val:
            count += 1
            max_val = num

    return count
性能分析

此解法只需要遍历一遍数组,时间复杂度为 O(n)。空间复杂度为 O(1),因为只需要常数级别的额外空间。

在 Python 中,使用 float('-inf') 来初始化 max_val 是一种比较高效的方式。

示例
>>> count_elements([1, 2, 3, 4, 5])
5

>>> count_elements([5, 4, 3, 2, 1])
1

>>> count_elements([2, 4, 6, 8, 10])
5

>>> count_elements([10, 8, 6, 4, 2])
1
参考