题解 | #旋转数组#
旋转数组
https://www.nowcoder.com/practice/e19927a8fd5d477794dac67096862042
package main
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 旋转数组
* @param n int整型 数组长度
* @param m int整型 右移距离
* @param a int整型一维数组 给定数组
* @return int整型一维数组
*/
//三次翻转的方法;把移动->翻转
func solve(n int, m int, a []int) []int {
// write code here
m = m % n
//三次翻转
for i, j := 0, n-1; i < j; i, j = i+1, j-1 {
a[i], a[j] = a[j], a[i]
}
//第二次翻转以m为界限
for i, j := 0, m-1; i < j; i, j = i+1, j-1 {
a[i], a[j] = a[j], a[i]
}
//第三次翻转:m右边的部分
for i, j := m, n-1; i < j; i, j = i+1, j-1 {
a[i], a[j] = a[j], a[i]
}
return a
}
顺丰集团工作强度 350人发布
查看12道真题和解析