自学内容网 自学内容网

【LeetCode】每日一题 2024_9_16 公交站间的距离(模拟)

前言

每天和你一起刷 LeetCode 每日一题~

LeetCode 启动!

题目:公交站间的距离

代码与解题思路

func distanceBetweenBusStops(distance []int, start int, destination int) int {
    // 首先让 start > destination, 这两个谁大对结果没有影响,但是对做题手感有影响
    if start > destination {
        start, destination = destination, start
    }
    // 核心思路就在于,题目给出的是一个:环形公交路线
    // 从一个起点到终点,正着走完,剩下没走过的路就是反着走的路
    // 也就是我们直接求正着走的路,然后用整条路的路程 sum-sum1 就能得出反着走的路
    // 最后求他们的:最短距离,即可
    sum, sum1 := 0, 0
    for i, v := range distance {
        sum += v
        if i >= start && i < destination {
            sum1 += v
        }
    }
    return min(sum-sum1, sum1)
}

核心思路如注释,题目给的是一个环形数组,正着遍历和反着遍历的和就是整个数组的 sum,所以只需要求出一个方向的和以及路程总和,就能知道另一个方向的和了。

视频实况

【【LeetCode】每日一题 2024_9_16 公交站间的距离(模拟)】

每天进步一点点

可以和我刷一辈子的每日一题吗?
一题一题,积累起来就是一辈子。


原文地址:https://blog.csdn.net/Locky136/article/details/142302634

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!