---恢复内容开始---

题目大意:

输入元素个数,输入数组,输入右移步数,输出结果;

基本思路:

可以把数组(从下标为0开始存储)看成两部分,分别是【0,n-step-1】,【n-step,n-1】,然后两部分分别倒置,然后将整个数组倒置,就得到了正确结果;

至于为什么是这样,你可以找个例子看看,然后理论证明上吗,哇,脑补一下就知道了。

代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>int arr[100];
void Reverse(int l,int r){int mid=(l+r)/2;for(int i=l;i<=mid;i++){int tmp=arr[i];arr[i]=arr[r+l-i];arr[r+l-i]=tmp;}return;
}
int main(){int n;scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&arr[i]);}int step;scanf("%d",&step);Reverse(0,n-step-1);Reverse(n-step,n-1);Reverse(0,n-1);for(int i=0;i<n;i++){printf("%d ",arr[i]);}return 0;
}

  

---恢复内容结束---

转载于:https://www.cnblogs.com/imzscilovecode/p/8005386.html

数组循环移动 空间复杂度O(1)相关推荐

  1. 数组循环向左移动k位的算法

    数组循环向左移动k位的算法, 我在课本上只看到了方法一,暂且称为颠倒交换法, 方法二是我自己想出来的,暂且称为循环赋值法. 方法一:颠倒交换法 算法描述:循环左移k位, 先把前面 0 到 k-1位置的 ...

  2. Java实现 LeetCode 457 环形数组循环

    457. 环形数组循环 给定一个含有正整数和负整数的环形数组 nums. 如果某个索引中的数 k 为正数,则向前移动 k 个索引.相反,如果是负数 (-k),则向后移动 k 个索引.因为数组是环形的, ...

  3. vue 循环遍历list_vue使用map代替Aarry数组循环遍历的方法

    需求:根据主键id来找到对应的数组下标 原本的方法是使用for循环遍历该数组,变量 i 就是下标,问题在于,如果有多重for循环,就会导致性能大大下降,数据也容易出错 因此使用map,让数组(原本是l ...

  4. 完美解决小程序一维数组循环渲染列表不够用问题

    完美解决小程序一维数组循环渲染列表不够用问题 参考文章: (1)完美解决小程序一维数组循环渲染列表不够用问题 (2)https://www.cnblogs.com/jessical626/p/6363 ...

  5. php大数组循环嵌套的性能优化

    一.前言 博主最近在用elasticsearch做项目,查出来的数据都是数组,在筛选数据组装数据的时候,难免会碰到循环嵌套的问题.如果两个50000的数组循环嵌套,那实际运算则是50000*50000 ...

  6. js 数组遍历符合条件跳出循环体_Javascript数组循环遍历之forEach详解

    1.js 数组循环遍历. 数组循环变量,最先想到的就是 for(var i=0;i除此之外,也可以使用较简便的forEach 方式 2.forEach函数. Firefox 和Chrome 的Arra ...

  7. foreach数组循环结构体

    foreach数组循环结构体 foreach循环遍历任何维数的数组 Systemverilog增加了foreach循环,它可用来对一维或多维数组中的元素进行迭代,而不必指定数组每个维度的宽度.fore ...

  8. Javascript 数组循环遍历之forEach

    1.  js 数组循环遍历. 数组循环变量,最先想到的就是 for(var i=0;i<count;i++)这样的方式了. 除此之外,也可以使用较简便的forEach 方式 2.  forEac ...

  9. 20200120 数据结构和算法之 数组循环队列的实现

    数组循环队列针对数据量不大的情况下使用,可以快速地实现元素的入队和出队.入队和出队遵循先进先出(FIFO)的原则.结构体组成如下: typedef int datatype; typedef stru ...

  10. js三层数组循环遍历(笛卡尔积)运算,并生成顺序

    笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尔积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员 [1]  . 假 ...

最新文章

  1. 一些Jquery操作
  2. 论文笔记:HKMF-T: Recover From Blackouts in TaggedTime Series With Hankel Matrix Factorization
  3. org.hibernate.NonUniqueObjectException 异常处理
  4. 非常好的dllimport 文章--在 C# 中通过 P/Invoke 调用Win32 DLL
  5. html 标题树,html树
  6. 初识Mysql(part17)--我需要知道的3条Mysql语句之联结
  7. C和指针之学习笔记(3)
  8. 【模板】高精度 [高精度]
  9. python_83_random_应用验证码
  10. Windows 7下ghost Windows XP不能启动的解决方法
  11. 60套漂亮的的免费 PSD 界面设计元素包资源(系列二)
  12. 飞机大战小游戏2.0
  13. 人工智能的认知技术,主要包含哪些?
  14. 搜索引擎优化、常用SEO优化方法总结
  15. 教育教学微课题研究方案——实习调研论文
  16. iPhone开发Swift基础08 加密与安全
  17. 苹果删除照片不释放内存_别再胡乱清理垃圾了,只要删除这6个文件夹,瞬间释放20GB内存...
  18. H G W S哪一个不是状态函数_师大版成语词典发布!不学不是师大人!
  19. 在腾讯这一年,坚守初心持续单纯!
  20. 使用Flexible实现手淘H5页面的终端适配

热门文章

  1. MongoDB几个完整的库表设计实例
  2. protobuf编码原理及其在schema格式转换的应用
  3. win10安装ipython_win10下安装Anaconda的教程(python环境+jupyter_notebook)
  4. java io 高级,JavaSE - [10] 高级部分之IO流
  5. 30天自制操作系统之叠加处理
  6. centos下安装和卸载jdk
  7. python表格模板_python 网站 使用表单和模板
  8. PLC和MCU单片机有什么差异
  9. endnote导入参考文献及国标(Chinese standard)
  10. 俞昆20155335《网络对抗》MSF基础应用