解题思路:需要注意开始时的编号,有的可以走一圈,有的走不了
模拟过程:for循环主要是用来模拟线性的过程,而在这里它是环状的;
可以用暴力解法,但是在这里我用贪心来解决。
常见疑惑:
这个起始位置是不会从中间开始的,运用反证法可以证明,如果从中间作为起始位置,那就不会从区间后一个位置当成起始点开始了,而是会在遍历到中间时将中间那个点直接作为起始位置。
代码实现:局部最优:当遍历数组进行求和时,一旦这个和为负数,就从这个数后一个位置开始作为起始点。
注意:[g-s]数组总和小于0,返回-1