【发布时间】:2021-12-20 19:18:33
【问题描述】:
我有一个结构为[(2, 4), (6, 7)] 的索引范围列表。
我还有一个包含 10 个元素的数组,所有元素的值都是 False:
[False, False, False, False, False, False, False, False, False, False]
我想做的是修改这些范围之间的值并使它们为真。所以最终的名单是:
[False, True, True, True, False, True, True, False, False, False]
注意:列表的索引不是从零开始的。
我正在考虑基于两个 for 的解决方案,但它的复杂度为 N^2:
for i in range(len(list_ranges)):
for j in range(len(my_list)):
if (j >= list_ranges[i][0] or j <= list_ranges[i][1]):
my_list[j] = True
如何提高算法的复杂度?
【问题讨论】:
标签: python list performance time-complexity