原文:算法题---数组元素循环右移

试设计一个算法,将数组A中的元素A 至A n 循环右移k位,并要求只用一个元素大小的附加存储,元素移动或交换次数为O n . 分析:我们看这个数组 ,循环右移 位。先将数组逆序, ,交换 次,然后交换前两个, ,然后右面四个数字逆序,则 ,交换 次,正好是 次,并且在交换数据的时候,只使用了一个附加存储空间,正好满足题意。 include lt stdio.h gt include lt std ...

2017-04-15 14:16 0 1780 推荐指数:

查看详情

数组元素循环右移

/*1008. 数组元素循环右移问题 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判程序 Standard 一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环右移M(M>=0)个位 ...

Wed Dec 21 23:07:00 CST 2016 0 4529
数组元素循环右移问题

题目描述 输入描述: 输出描述: 输入例子: 输出例子:   之前这样写的,直接定义一个200的数组,把数组后移到后半边的数组里。但是还是借助了之外的内存。   由于有上边红字限制。在一个数组里边移动元素,势必会覆盖掉当前 ...

Mon May 25 20:35:00 CST 2015 0 2706
数组元素循环右移问题

题目内容:     题目链接    解题思路   方法一:   这是我自己摸索出来的一种方法,通过对数组的多次逆置来达到循环的效果,一共对数组进行了三次逆置,所以就需要构造一个函数,   这个函数既可以逆置一个数组,也可以逆置数组的部分区间。   1,先将整个数组[0,N)逆置 ...

Mon Mar 02 04:09:00 CST 2020 1 1757
数组元素循环右移问题

问题: 一个数组A中存有N(N>0)个数, 在不允许使用任何另外数组的前提下, 将每个整数循环右移M(M>0)位, 考虑移动数据的次数尽量少, 要如何设计移动方法? 并分析时间复杂度. 示意图如下: 分析1 当然, 最简单的方法莫过于直接每次向右移动一个, 要移动M位 ...

Sat Oct 31 06:50:00 CST 2015 0 9303
1008 数组元素循环右移问题 JAVA

1008 数组元素循环右移问题 (20 分) 一个数组A中存有N(>)个整数,在不允许使用另外数组的前提下,将每个整数循环右移M(≥)个位置,即将A中的数据由(A​0​​A​1​​⋯A​N−1​​)变换 ...

Wed May 15 00:41:00 CST 2019 1 496
数组中的元素循环左移(或右移

题目要求: A为一个包含有n个元素数组{a0,a1,a2,a3,…,a(p-1),ap,a(p+1)…,a(n-2),a(n-1)},现在将A中的元素循环左移p个单位,得到新的数组B={a(p),a(p1),……,a(n-1),a1,a2,……a(p-1)}, 要求编写程序模拟以上的循环左移 ...

Wed Mar 12 19:43:00 CST 2014 0 7073
数组循环右移问题

  首先,假设我们有一个具有6个元素数组: 1,2,3,4,5,6 现在我们要对这个数组循环右移4次,我们很直接很够推出它的结果是:3,4,5,6,1,2 。但是我们如何去实现这样一个问题呢?   我觉得大家最容易想到的方法就是:   step1:保存好数组中最后一个元素的值 ...

Mon Sep 01 04:03:00 CST 2014 1 3120
数组循环右移

设计一个算法,把一个含有N个元素数组循环右移K位,要求时间复杂度为O(N),且只允许使用两个附加变量。 不合题意的解法如下: 我们先试验简单的办法,可以每次将数组中的元素右移一位,循环K次。abcd1234→4abcd123→34abcd12→234abcd1→1234abcd。伪代码 ...

Wed Jun 26 00:50:00 CST 2013 1 9165
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM