Const
找轮转规律,看三个角色的关系:轮转次数k,数组长度nums.length,位置i剩余向右轮转次数maxX = nums.length - i - 1。 先看k跟数组长度关系,k小于数组长度,那么k一定会转至少一轮让整个数组元素回到原来位置,比如这里0转3次回到原位,那么需要不断削减k直到小于nums.length 削减完成后,再看k跟maxX关系,k小于maxX,那么计算各元素的位置就是 位i,最终的新位置是 newLoc = i + k; 当 k > maxX,那么多出来的转动次数leftX = k - maxX 那么相当于从头开始排新位置,则新的位置newLoc = leftX - 1; 最后记住新位置和数然后放到原数组上。
Do not return anything, modify nums in-place instead.
找轮转规律,看三个角色的关系:轮转次数k,数组长度nums.length,位置i剩余向右轮转次数maxX = nums.length - i - 1。 先看k跟数组长度关系,k小于数组长度,那么k一定会转至少一轮让整个数组元素回到原来位置,比如这里0转3次回到原位,那么需要不断削减k直到小于nums.length 削减完成后,再看k跟maxX关系,k小于maxX,那么计算各元素的位置就是 位i,最终的新位置是 newLoc = i + k; 当 k > maxX,那么多出来的转动次数leftX = k - maxX 那么相当于从头开始排新位置,则新的位置newLoc = leftX - 1; 最后记住新位置和数然后放到原数组上。