标签:ons red ebe star div clock nta return code
package LeetCode_1184 /** * 1184. Distance Between Bus Stops * https://leetcode.com/problems/distance-between-bus-stops/ * A bus has n stops numbered from 0 to n - 1 that form a circle. * We know the distance between all pairs of neighboring stops where distance[i] is the distance between the stops number i and (i + 1) % n. The bus goes along both directions i.e. clockwise and counterclockwise. Return the shortest distance between the given start and destination stops. Example 1: Input: distance = [1,2,3,4], start = 0, destination = 1 Output: 1 Explanation: Distance between 0 and 1 is 1 or 9, minimum is 1. * */ class Solution { /* * Time:O(n), Space:O(1) * */ fun distanceBetweenBusStops(distance: IntArray, start: Int, destination: Int): Int { var total = 0 var sum = 0 var s = start var d = destination if (s > d) { //swap start and destination val temp = d d = s s = temp } for (i in distance.indices) { //calculate distance from start to end if (i >= s && i < d) { sum += distance[i] } //calculate total distance total += distance[i] } //the distance of other direction is:total - sum return Math.min(total - sum, sum) } }
1184. Distance Between Bus Stops
标签:ons red ebe star div clock nta return code
原文地址:https://www.cnblogs.com/johnnyzhao/p/14233113.html