找出两个或者多个字符串中最大的公共串,最大的整数,最长的整数
来源:互联网 发布:js dom loaded 编辑:程序博客网 时间:2024/06/06 09:08
一 找出两个字符串中最大的公共字串
#include "stdio.h" #include "malloc.h" #include "string.h" char *maxsubstr(char *str1, char *str2) { char *p1, *p2, *q1, *q2, *destp; char *substr; int max = 0, len; p1 = str1; while(*p1 != '\0') { q1 = str2; while(*q1 != '\0') { len = 0; //这部分初始化非常重要,要注意好! p2 = p1; q2 = q1; while((*p2 != '\0')&&(*q2 != '\0')) { if(*p2 == *q2) { p2 ++;q2 ++;len ++; } else { break; } } if(len > max) { max = len; destp =p1; } q1++; } p1++; } substr=(char*)malloc(sizeof(char)*max); strncpy(substr,destp,max); substr[max] = '\0'; return substr; } int main() { char *s1="aocdfe"; char *s2="pmcdfa"; char *sub; printf("%s\n%s\n",s1,s2); sub = maxsubstr(s1,s2); printf("the max sub string is:%s\n",sub); return 0; }
多个字符串最大的公共子字符串
#include <iostream>#include <string>using namespace std;//将第一个字符串与最短的字符串交换void swap(string *pStr,int i){ string temp; temp = *pStr; *pStr = *(pStr + i); *(pStr + i) = temp;}char* findSameSubStr(char**asd, int N){int i,j,k,len,min,maxLen = 0,minLen = 256;string maxStr,tmpStr,*pStr = new string [N]; //找出输入的字符串中长度最小的串,并把最小串序号记在min中 for(i = 0; i < N; ++ i){ *(pStr + i) = asd[ i ];// *操作符与调用函数的.操作符优先级问题,.优先级高于*,所以必须加上() len = (*(pStr +i)).length();//find the minimal length of the string if( len < minLen){ minLen = len; min = i; } }//swap the string and put the minimal string in the first//printf("the minimal length string = %d\n",min); swap(pStr,min); len = pStr[0].length(); for(i = 0; i < len && maxLen <= len - i - 1; ++ i) { for(j = 0; j < len && maxLen <= len - i - j - 1; ++ j) {//对字符串数组中第一个子串,求出其可能的子串值,如果剩余子串长度小于maxLen则不用去求了,for循环中给出了限制 tmpStr = pStr[0].substr(i, len - j); //将子串tmpStr与参与匹配的字符串比较,判断tmpStr是否为剩余串的子串,如果不是则break出循环 for(k = 1; k < N; ++ k) { string::size_type pos = pStr[k].find(tmpStr); if(pos < pStr[ k ].length()) continue; else break; } if(k == N)//说明子串tmpStr是其他参与匹配的子串的子串 { if(tmpStr.length() > maxLen)//tmpStr如果是当前最大的子串,则记录下来 { maxLen = tmpStr.length(); maxStr = tmpStr; } } } }char * maxstr = new char [maxStr.length() + sizeof(char)];strcpy(maxstr,maxStr.c_str()); delete []pStr;return maxstr;}int main(){ int N = 3; /* string *pStr; pStr = new string [N];pStr[0] = "main what is local bus";pStr[1] = "main this is local bus";//pStr[2] = "local bus is name sdhfj";pStr[2] = "main";*///char *asd[ 3 ] = {"main what is local bus","main this is local bus","main my name is tian mo thank you very much"};char *asd[ 3 ] = {"mainttianmomomo","hthhttmainttgggsdjfsjdfsdf","fsadfasdfsamainttoewrowjfjsjfldsmflasjdfljslfls"};printf("最大公共子串为:%s\n",findSameSubStr(asd, N)); return 0;}
二 找出字符串中最大的整数
int _FindMaxData(const char *str){if(NULL == str)return 0; int temp, flag, max = 0;const char *p = str; while ('\0' != *p) { temp = 0; flag = 0;//设置是否有整数的标志 while (*p >= '0' && *p <= '9') { temp = 10 * temp + *p - '0'; ++ p; flag = 1; } if (flag) {if(max < temp){max = temp;} -- p;//由于在存整数的时候多走了一步,要减1 } ++ p; }return max;}void main(){char str[] = "A5C6B9572DDEF6912YY9573GG12345II001234";printf("max = %d\n",_FindMaxData(str));}
三 找出字符串中最大的由0-9组成的串
int _FindMaxData(const char *str){if(NULL == str)return 0; int temp, flag, max = 0;const char *p = str; while ('\0' != *p) { temp = 0; flag = 0;//设置是否有整数的标志 while (*p >= '0' && *p <= '9') { //temp = 10 * temp + *p - '0';temp ++; ++ p; flag = 1; } if (flag) {if(max < temp){max = temp;} -- p;//由于在存整数的时候多走了一步,要减1 } ++ p; }return max;}void main(){char str[] = "A5C6B9572DDEF6912YY9573GG12345II001234";printf("max = %d\n",_FindMaxData(str));}
四
待续 。。。
- 找出两个或者多个字符串中最大的公共串,最大的整数,最长的整数
- 找出两个字符串中最大的公共子字符串
- 找出N个整数中最大的K个数
- 找出N个整数中最大的K个数
- 找出N个整数中最大的K个数
- 找出N个整数中最大的K个数
- 找出N个整数中最大的K个数
- 找出N个整数中最大的K个数python
- 找出一组整数中最大的那个
- 2. 找出最大的整数
- 找出两个字符串的最大公共子串
- 找出两个字符串的最大公共子串
- 找出两个字符串的最大公共子串
- 从100亿个整数中找出最大/最小的1000个整数
- 找出两个字符串中最大的公共子串的简单实现
- 找出两个字符串中最大的公共子串的简单实现
- 找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad"
- 找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad"
- 烦躁的一周
- 程序员,你现在有压力吗?
- 中序表达式转后序表达式
- NOB正方教务系统改造器
- 读取文件几种方法
- 找出两个或者多个字符串中最大的公共串,最大的整数,最长的整数
- 果粉黑诞生记——兼谈文件夹隐喻
- RMI小例子 调试通过
- C语言宏定义技巧(常用宏定义)
- RESTful webservice
- Qt Creator的安装和hello world程序的编写- 转载
- codeblocks 安装配置
- pdf decypher
- 航路的开始