题目描述:设计一个算法,把一个含有N个元素的数组循环右移K位,要求算法的时间复杂度位O(Log2N)O(Log_2N),且只允许使用两个附加变量。
什么意思呢,就是说如果输入序列为:abcd1234,右移2位即变为34abcd12。唯一的要求就是使用两个附加变量。
其实这道题编程珠玑上面也出现过,书中给出的一种符合题意的解法是巧妙地进行翻转。以把abcd1234右移4位为例:第一步:翻转1234...
分类:
编程语言 时间:
2015-08-14 10:00:05
阅读次数:
131
题目: 设计一个算法,将一个含有N个元素的数组循环右移K位,要求时间复杂度为O(N),只允许使用两个附加变量思路: 如abcd1234: 逆序排列abcd:abcd1234---》dcba1234 逆序排列1234:dcba1234---》dcba4321 逆序所有 :dc...
分类:
编程语言 时间:
2015-08-10 22:02:25
阅读次数:
141
00-自测3. 数组元素循环右移问题 (20)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0A1……AN-1)变换为(AN-...
分类:
编程语言 时间:
2015-08-08 19:47:33
阅读次数:
132
来自《编程珠玑》,将数组看成一个向量x=ab,那么循环右移后数组就变成ba。从向量的角度考虑(a-1b-1)-1=ba/* 不用临时变量交换a[begin]和a[end]两内存单元的内容 */voidstringReverse(chara[],intbegin,intend){for(;begin<...
分类:
编程语言 时间:
2015-07-07 18:32:49
阅读次数:
118
题目的大意是将一个长度为n的数组A内的元素循环右移m位(当然左移也可以),比如数组 {1, 2, 3, 4, 5}右移3位之后就变成{3, 4, 5, 1, 2}。时间复杂度O(N),空间复杂度O(1)的解法:我们要做的只是把每个元素放到它应该在的位置,比如开头的例子,1应该放在4的位置,把1放好之...
分类:
编程语言 时间:
2015-07-06 21:17:55
阅读次数:
137
一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0A1……AN-1)变换为(AN-M…… AN-1A0A1……AN-M-1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方...
分类:
编程语言 时间:
2015-06-27 22:34:50
阅读次数:
116
Rotate an array of n elements to the right by k steps.For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4].
将固定数组循环右移k步
注意:当k>numsSize的时候k = k % numsSizevoid rot...
分类:
其他好文 时间:
2015-06-26 15:03:36
阅读次数:
97
题目描述:
给定一个字符串S[0…N-1],要求把S的前k
个字符移动到S的尾部,如把字符串“abcdef”
前面的2个字符‘a’、‘b’移动到字符串的尾部,
得到新字符串“cdefab”:即字符串循环左移k。
?多说一句:循环左移k位等价于循环右移n-k位。算法要求:
? 时间复杂度为 O(n),空间复杂度为 O(1)。问题分析:
? 暴力移位法
每次循环左移1位,调用k次即可...
分类:
其他好文 时间:
2015-06-18 15:23:53
阅读次数:
166
strcpy函数的表达方式://把一个char组成的字符串循环右移n个,如:“abcdefghi",n=2,移动后"hiabcdefgh"#include #include using namespace std;#define MAX_LEN 20void LoopMove(char *pstr,...
分类:
其他好文 时间:
2015-06-11 22:36:19
阅读次数:
98
C语言提供了六种位运算符: & 按位与 | 按位或 ^ 按位异或 ~ 取反 > 右移,正数高位补0,负数由计算机决定 循环左移k次(x> (32-k)), 循环右移k次(x>>k) | (x 括号成员第一; //括号运算符[]() 成员运算符. ->全体单目第二; ...
分类:
其他好文 时间:
2015-06-09 21:38:18
阅读次数:
131