题目
类型:数组
难度:简单
题意:从循环的车站中,找到从start到destination的最短路径。因为车站的总长度确定,所以要么正向走,要么逆向走,先求出来总长度,然后再与正向的相减,取最小的,就是要求的结果。
class Solution {
public:
int distanceBetweenBusStops(vector<int>& dist, int start, int des) {
int sum = 0, tmp = 0;
for(auto c: dist) sum += c;
if(start > des) swap(start, des);
for(int i = start; i < des; i++) tmp += dist[i];
return min(tmp, sum-tmp);
}
};