nums = [1, 2, 3, 4, 5]
如何求middle的位置正好二分
对于偶数: len(nums)/2 - 1 (+0.5) 对于奇数: len(nums)/2
因此中心点的位置为: l + (r - l) / 2 靠左 l + (r - l + 1) / 2 靠右
现在加入我们要做数组倒序交换, 我们可以这么做
// Recommended
for i, j := l, r; i < j; i, j := i+1, j-1 {
nums[i], nums[j] = nums[j], nums[i]
}
// 或者只有r,l之间有2个及以上元素的时候才需要偏移
for k := 0; k < (r-l+1)/2; k++ {
nums[l+k], nums[r -k] = nums[r -k], nums[l+k]
}