-
题目

-
代码
#include <stdio.h> #include <algorithm> using namespace std; int main(){ int n,m; scanf("%d%d",&n,&m); m%=n; int a[n]; for(int i=0;i<n;i++){ scanf("%d",&a[i]); } reverse(a,a+n); //反转整个数组 reverse(a,a+m); //反转前部分 reverse(a+m,a+n); //反转后部分 for(int i=0;i<n;i++){ if(i!=0) printf(" "); printf("%d",a[i]); } }
PAT笔记:1008 数组元素循环右移问题 (20分)
最新推荐文章于 2024-06-18 16:33:39 发布
本文深入探讨了数组旋转算法的实现,通过三个步骤反转数组来达到高效旋转的目的。首先整体反转数组,然后分别反转前m个元素和剩余元素,实现数组的指定位置旋转,代码简洁且效率高。
1262

被折叠的 条评论
为什么被折叠?



