题目描述:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!
输入:多组测试数据,每个测试数据包含一个字符序列S和非负整数K。其中S的长度不超过1000。...
分类:
其他好文 时间:
2014-08-16 13:50:10
阅读次数:
189
其实编程之美也有类似的题,这道题是编程珠玑第二章的题目。题目描述:给定一个字符串,将字符串循环移位K次。最简答的方法就是,通过O(n)的辅助空间,将数组循环移位,时间复杂度就是O(n)但是如果要求空间复杂度为O(1)呢?观察规律可知,对前K位反转以及后面的反转,最后对整个字符串反转就能达到O(1)的...
分类:
其他好文 时间:
2014-06-10 21:02:52
阅读次数:
275
定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数,分析算法复杂度当时答的时候用的方法太渣了,思路是每次左移一位,移动K次。12345678→23456781→34567812→45678123这是我写...
分类:
其他好文 时间:
2014-05-08 07:06:24
阅读次数:
300