0
如果我有一對分離值對的列表,那麼如何計算給定數字落入哪個索引(即輸入在區間中)?例如:座標在線性遞增區間內的公式
f([[0, 2], [3, 6], [7, 10]], 4) == 1
編輯 - 爲了澄清,我知道天真的算法是非常明顯的。我覺得有一個恆定的時間(或至少比線性)更好的解決方案。
如果我有一對分離值對的列表,那麼如何計算給定數字落入哪個索引(即輸入在區間中)?例如:座標在線性遞增區間內的公式
f([[0, 2], [3, 6], [7, 10]], 4) == 1
編輯 - 爲了澄清,我知道天真的算法是非常明顯的。我覺得有一個恆定的時間(或至少比線性)更好的解決方案。
這裏是在Python
def f(intervals, value):
for i in intervals:
if (value >= i[0]) and (value <= i[0]):
return True
return False
一個例子是所有時間間隔不重疊的和單調? –
它們可能會在邊界重疊(即[0,2],[2,5]),是的,我認爲它是單調的。 – wes