2013-11-03 实验之最大公共子串(思维逻辑题)
来源:互联网 发布:vue.js 例子 编辑:程序博客网 时间:2024/06/06 11:42
题目:求字符串的最大公共子串(两个为例)
思路:将长度最小的子串,依次以其长度大小递减,取相应子串,判断该子串是否在另一个串中。
程序实现:
#include<stdio.h>#include<stdlib.h>#include<string.h>int get_length_of_character(char *s){int count = 0;while(*s++ != '\0'){count++;}return count;}int get_sub_character_of_character(char *s, int k, char *stemp){int i;int j;int length = get_length_of_character(s);char *temp = (char *)malloc(sizeof(char) * (k+1));int count = 0;for(i = 0;i < length; i++){for(j = 0;j < k; j++){if(j+i < length){temp[j] = s[j+i];}else {break;}}if(j == k){temp[k] = '\0';//printf("sub Character %s \n", temp);if(strstr(stemp, temp)){printf("The Sub Character is: %s \n", temp);free(temp);return 1;}}else{break;}}free(temp);return 0;}int main(void){int maxlength = 256;char *s1 = (char *)malloc(sizeof(char) * maxlength);char *s2 = (char *)malloc(sizeof(char) * maxlength);printf("Please input two character as follows:\n");scanf("%s", s1);scanf("%s", s2);char *s = s1;char *stemp = s2;int length1 = get_length_of_character(s1);int length = length1;int length2 = get_length_of_character(s2);//printf("Character %s , length %d\n", s1, length1);//printf("Character %s , length %d\n", s2, length2);if(length2 < length1){s = s2;length = length2;stemp = s1;}int i;for(i = length; i >=1; i--){if(get_sub_character_of_character(s, i, stemp)){return 0;}}printf("no sub character\n");return 1;
- 2013-11-03 实验之最大公共子串(思维逻辑题)
- 2013-11-02 实验之泊松分酒(思维逻辑题)
- 2013-11-09 实验之买不到的糖果数目(递推思维+思维逻辑题)
- 2013-11-07 实验之火柴游戏(递归思维逻辑,转化思维,查找最优解思维)
- 2013-10-30 实验之古堡算式(思维逻辑题)
- 最大公共子串
- 最大公共子串
- 最大公共子串
- 最大公共子串
- 最大公共子串
- 最大公共子串
- 最大公共子串
- 最大公共子串
- 2013-11-04 实验之取球游戏(递推思想,数学归纳思想,思维逻辑思想)
- F题 Substring(最大公共子串)
- 最大公共子串(算法)
- 最大公共子序列 vs 最大公共子串
- 最大公共子串&&最大公共子序列
- Python科学计算
- 心灵驿站——洗尽铅华
- 计算机书籍
- tomcat的内存溢出解决方法
- linux内核文件翻译-DM-条纹
- 2013-11-03 实验之最大公共子串(思维逻辑题)
- Linux下软件安装详解(rpm包、deb包、zip包等)
- 关于gridmix3(Gridmix3 – Emulating Production Workload for Apache Hadoop)
- IE调试工具
- [LeetCode] Word Search
- 硬链接与符号链接
- Ubuntu 下 配置 jdk1.7
- Cloudera Impala 编译、安装与配置
- leetcode Word Break I II 算法分析