1. 字符串循环移位包含 2. 字符串循环移位 3. 字符串中单词的翻转 4. 两个字符串包含的字符是否完全相同 5. 计算一组字符集合可以组成的回文字符串的最大长度 6. 字符串同构 7. 回文子字符串个数 8. 判断一个整数是否是回文数 9. 统计二进制字符串中连续 1 和连续 0 数量相同的子 ...
分类:
其他好文 时间:
2019-06-12 13:59:29
阅读次数:
197
1096: Is The Same? Description 给出2个字符串S和T,如果可以通过循环移位使得S和T相等,则我们称S和T是同构字符串, 例如S=“abcd”, T=“bcda”,则S和T是同构字符串;而S=“abcd”和T=“bcad”则不是同构字符串。 循环移位是指:在?个长度为n的 ...
分类:
其他好文 时间:
2016-05-10 12:39:57
阅读次数:
227
一。字符串循环移位问题; 给定一个字符串S[0...N-1],要求把S的前k个字符移动到S的尾部,如把字符串“abcdef”向左移动2位得到“cdefab”。 循环左移n+k位和k位的结果是一样的; 循环右移k位相当于循环左移n-k位。 算法要求:时间复杂度O(n), 空间复杂度O(1). 不能采用 ...
分类:
其他好文 时间:
2016-04-22 23:38:11
阅读次数:
219
题目示例: "abcdefgh" 循环右移3位得到 "defghabc"解法一:消耗额外的3个空间,空间复杂度为O(n),当程序运行的空间比较苛刻的时候,不可取。时间复杂度为O(n)1 int main(){2 char source[]="abcdefg";3 char *temp...
分类:
其他好文 时间:
2015-05-24 21:37:36
阅读次数:
149
题目:
给定两个字符串s1和s2,要求判定s2是否能够被s1做循环移位得到的字符串包含。
解法一:O(N^2)
对s1进行循环移位,在进行字符串包含的判断。
//s1,s2
int len = strlen(s1);
for(i:len)
{
char t=s1[0];
for(j:len-1)
s1[j]=s[j+1];
s1[len...
分类:
其他好文 时间:
2015-04-28 14:14:18
阅读次数:
122
字符串循环移位。时间复杂度和空间复杂度都为O(1),三种方法。...
分类:
其他好文 时间:
2014-10-27 19:34:09
阅读次数:
160
字符串循环移位:假设有一串字符串a,b,c,d,e,f,g,h,向左循环移位2为,得c,d,e,f,g,h,a,b。
#include
using namespace std;
void reverse(char* a, int start, int len){
int count = 0;
for(int i = start, j = start + len -1; ; ++i, --...
分类:
其他好文 时间:
2014-09-28 12:28:20
阅读次数:
140
题目描述:数组循环移动K位分析:这道题和之前碰到的字符串循环移位其实是一个思路的,编程珠玑上面也讲了这道题。(1)第一种方法是对数组划分成两个部分,对两部分进行反转,同时对整个数组进行反转(2)第二种方法是将第i位的元素和(i+k)%N的元素交换,从第0个元素开始,循环直到回到第0个元素。 1 #i...
分类:
其他好文 时间:
2014-06-28 15:41:59
阅读次数:
204
其实编程之美也有类似的题,这道题是编程珠玑第二章的题目。题目描述:给定一个字符串,将字符串循环移位K次。最简答的方法就是,通过O(n)的辅助空间,将数组循环移位,时间复杂度就是O(n)但是如果要求空间复杂度为O(1)呢?观察规律可知,对前K位反转以及后面的反转,最后对整个字符串反转就能达到O(1)的...
分类:
其他好文 时间:
2014-06-10 21:02:52
阅读次数:
275