题目描述
自己解答
由于题目中是无向图
,所以a->b
和b->a
的距离一致,为简化算法,当start>destination
时,将二者的值调换。遍历累加数组下标范围[start,destination)
的值,另外一条路径的值就是数组总和减去该值,比较二者取其较小者即可。
class Solution:
def distanceBetweenBusStops(self, distance: List[int], start: int, destination: int) -> int:
route = 0
if start > destination:
start,destination = destination,start
route = sum(distance[start:destination])
return route if route <= sum(distance) - route else sum(distance) - route
时间复杂度
O
(
n
)
O(n)
O(n),空间复杂度
O
(
1
)
O(1)
O(1)。