You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何判断列表是否为非递减升序序列并返回对应布尔值

功能实现(Python版本)

注意事项

不要使用list作为自定义变量名,这是Python内置的列表类型关键字,覆盖后会影响默认列表方法的调用。

方案1:简洁写法(推荐)

利用zip配对相邻元素,配合all()函数判断所有相邻元素是否满足条件,时间复杂度O(n),空间复杂度O(1)。

def check_non_decreasing(input_list):
    # 长度<=1的列表天然满足条件
    if len(input_list) <= 1:
        return True
    return all(prev <= curr for prev, curr in zip(input_list, input_list[1:]))

测试示例:

# 测试符合要求的列表
test1 = [0, 1, 8 , 10, 14, 16]
print(check_non_decreasing(test1)) # 输出 True
# 测试存在逆序的列表
test2 = [5, 3, 9, 1]
print(check_non_decreasing(test2)) # 输出 False

方案2:基础循环写法

适合需要在遍历过程中添加额外逻辑的场景,逻辑更直观:

def check_non_decreasing(input_list):
    for i in range(len(input_list) - 1):
        if input_list[i] > input_list[i+1]:
            return False
    return True

内容的提问来源于stack exchange,提问作者Néstor Román Domínguez Moreno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 23:45:00