【算法题】整形数组向右移动位置的题目
有个算法题是这样,有一个有M个元素的整形数组,数组元素一个一个的往右边平移, 往右平移N次, 返回平移后的数组
比如 数组A
[1,2,3,4,5] M =5, 数组元素往右平移一位(一次) N= 1 => 平移后的数组是 [5,1,2,3,4]
平移2次,N =2 => 平移2次后的数组是 [4,5,1,2,3]
平移3次, N =3 => 平移3次后的数组是 [3,4,5,1,2]
[1,2,3,4,5,6,7] M =7, 数组元素往右平移一位(一次) N= 1 => 平移后的数组是 [7,1,2,3,4,5,6]
平移2次,N =2 => 平移2次后的数组是 [6,7,1,2,3,4,5]
平移3次, N =3 => 平移3次后的数组是 [5,6,7,1,2,3,4]
这个是有规律的,对数组A进行循环,我们假设平移后的数组为B
if (N > M) N = N % M
for(int i =0; i < A.Length; i++) { if(i - N < 0) { B[i] = A[i - N + M] }
else
{
B[i] = A[i - N]
}
}
这样下来,返回的B数组就是平移N位后的数组
分类:
算法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律