求一个字符串中连续出现次数最多的子串
来源:互联网 发布:wpf编程宝典c 2012 编辑:程序博客网 时间:2024/05/17 01:14
求一个字符串中连续出现次数最多的子串,例如:abcbcbcabc, 这个串中连续出出次数最多的子串是bc, 它出现了3次。
以下是我的实现代码,用c语言实现,已经编译通过。
1 #include2 #include
3 #include
4
5 int count = 0;
6 char sub_str[256];
7
8 void find_str(char *str)
9 {
10 int str_len = strlen(str);
11 int i, j, k;
12 int tmp_cnt = 0;
13
14 for (i = 0; i < str_len; i++)
15 {
16 for (j = i+1; j < str_len; j++)
17 {
18 int n = j-i; //sub string length
19 tmp_cnt = 1;
20 if (strncmp(&str[i], &str[j], n) == 0) //compare n-lengths strings
21 {
22 tmp_cnt++; //they are equal, so add count
23 for (k = j+n; k < str_len; k += n) //consecutive checking
24 {
25 if (strncmp(&str[i], &str[k], n) == 0)
26 {
27 tmp_cnt++;
28 }
29 else
30 break;
31 }
32 if (count < tmp_cnt)
33 {
34 count = tmp_cnt;
35 memcpy(sub_str, &str[i], n); //record the sub string
36 }
37 }
38 }
39
40 }
41 }
42
43 int main()
44 {
45 char *str = "abcbcbcabc";
46 find_str(str);
47 printf("%d, %s/n", count, sub_str);
48 return 0;
49 }
50
- 求一个字符串连续出现次数最多的子串
- 求字符串中连续出现次数最多的子串
- 求字符串中连续出现次数最多的子串
- 求一个字符串中连续出现并且出现次数最多的子串.
- 字符串---求一个字符串中连续出现次数最多的子串
- 求一个字符串中出现次数最多的子串(并不是连续的)
- 编程珠玑(四)求一个字符串中连续出现的次数最多的子串
- 求一个字符串中连续出现的次数最多的子串[C语言实现]
- 求一个字符串中连续出现的次数最多的子串
- 求一个字符串中连续出现的次数最多的子串
- 求一个字符串中连续出现的次数最多的子串
- 求一个字符串中连续出现的次数最多的子串
- 求一个字符串中连续出现的次数最多的子串
- 求一个字符串中连续出现的次数最多的子串
- 求一个字符串中连续出现次数最多的子串
- 求一个字符串中连续出现次数最多的子串【转】
- 求一个字符串中连续出现次数最多的子串
- 求一个字符串中连续出现次数最多的子串
- 高级线程开发(线程池、资源封锁和队列)
- java中replace和replaceAll的区别
- 重建二叉树
- Java平台上进行多线程编程的缺陷
- Java求两个数的最大公约数最小公倍数
- 求一个字符串中连续出现次数最多的子串
- 1.2读入测试用例的数据
- 数据加密
- vvvv
- windows和linux在控制台下读取EOF的问题
- win32消息映射3
- 【转】7-zip 临时文件夹的 Bug
- C#读写INI文件
- windows程序设计相关思想