通过万岁!!!
- 题目:给你一个数组,形成一个环,然后从start和destination会将数组分成两个部分,问这两部的和哪个大。
- 思路:首先我们要保证start小于destination,然后我们一个for计算数组的和sumAll,并且计算从strat到destination的和sum1,然后比较sumAll-sum1和sum1的大小。返回小的哪个即可。
- 技巧:数组的遍历
java代码
class Solution {
public int distanceBetweenBusStops(int[] distance, int start, int destination) {
if (start > destination) {
return distanceBetweenBusStops(distance, destination, start);
}
int lr = 0, mid = 0;
for (int i = 0; i < distance.length; i++) {
if (i >= start && i < destination) {
mid += distance[i];
}
lr += distance[i];
}
return lr - mid > mid ? mid : lr - mid;
}
}
- 总结:这个题目还是比较简单的。