首页 > 解决方案 > 检查范围内的东西的运行时间

问题描述

我想检查 m 是否在 l 和 h 之间。我可以写

if m<=h and m>=l

或者

m in range(l,h+1)

后者看起来更好,但它是否需要超过 O(1) 时间?

标签: python

解决方案


O(1)

if m<=h and m>=l:
    ...

在 Python 2 中为O(n),但在 Python 3 中为O(1)

if m in range(l, m+1):
    ...

更好的风格:

if low <= m <= high:
    ...

注意:如果 m 可以是非整数(例如考虑浮点数),则行为会有所不同。


推荐阅读