Python 种树

B站影视 2025-02-24 22:17 1

摘要:def max_trees(L, d, forbidden_zones):# 初始化可种植数组,默认全部可种植road = [1] * (L + 1) # 1表示可以种植,0表示不可以种植# 标记不可种植区域for x, y in forbidden_zone

def max_trees(L, d, forbidden_zones):# 初始化可种植数组,默认全部可种植road = [1] * (L + 1) # 1表示可以种植,0表示不可以种植# 标记不可种植区域for x, y in forbidden_zones:for i in range(x, y + 1): # 由于是闭区间,所以 y 也需要置0road[i] = 0# 遍历可种植区域,每隔 `d` 种一棵树count = 0i = 0while i 标记不可种植区域

用一个布尔数组(类似于 0~L 的路段)来标记哪些位置是可种植,哪些是不可种植

遍历可种植区域

每隔 d 计算一个种树点,直到无法继续种树。

时间复杂度

O(L):对 0~L 进行一次遍历,保证运行效率足够。

来源:秀丽教育

相关推荐