HDU_1238——最大子串搜索
3
ABCD
BCDFF
BRCD
2
rose
orchid
2
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <windows.h>
void sort(char (*str)[]); //给字符串序列按长度排序
int fun(char (*str)[]); //求发现的最大的子串的长度
//char* in_turn(char* s); //字符串逆序 int main()
{
int t,n;
scanf("%d",&t);
while(t--) //提前判断范围
{
int i=;
char str[][]={};
scanf("%d",&n);
while(i<n)
{
scanf("%s",str[i++]); //gets会接收一个换行符
}
sort(str);
printf("%d\n",fun(str));
}
system("pause>nul");
return ;
} int fun(char (*str)[])
{
int max=,i,j,k;
char s[];
for(k=;str[][k];k++)
{
for(i=;i<=strlen(str[])-k;i++)
{
if(max>i) continue;
int flag=;
strcpy(s,str[]+k);//i-k+1
s[i]='\0';
for(j=;str[j][];j++)
{
if(strstr(str[j],s)==NULL && strstr(str[j],strrev(s))==NULL) //返回一个指向s1中第一次出现s2中字符串的位置,没有返回NULL
{flag=;break;} //strrev()逆序函数
}
if(flag==)
max=i;
}
}
return max;
}
/*
char* in_turn(char* str)
{
char _str[101];
int i;
for(i=0;str[i];i++)
{
_str[strlen(str)-1-i] = str[i];
}
_str[strlen(str)]='\0';
return _str;
}
*/
void sort(char (*str)[]) //一个指向100个char类型的指针
{
int i,j;
char temp[];
for(i=;str[i+][]!='\0';i++)
for(j=i+;str[j][]!='\0';j++)
{
if(strlen(str[i]) > strlen(str[j]))
{
strcpy(temp,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],temp);
}
}
}
HDU_1238——最大子串搜索的更多相关文章
- Java 中字符串的子串搜索
基友前两天参加了阿里的实习生面试,问了个问题,就是关于字符串的子串搜索的问题.想想实现方式无非就是两层循环,但是 java 中是有现成实现的,于是我就去查查源码,看看 java 语言怎么实现这个的,发 ...
- C++自定义String字符串类,支持子串搜索
C++自定义String字符串类 实现了各种基本操作,包括重载+号实现String的拼接 findSubStr函数,也就是寻找目标串在String中的位置,用到了KMP字符串搜索算法. #includ ...
- Substrings 子字符串-----搜索
Description You are given a number of case-sensitive strings of alphabetic characters, find the larg ...
- Leetcode 5. Longest Palindromic Substring(最长回文子串, Manacher算法)
Leetcode 5. Longest Palindromic Substring(最长回文子串, Manacher算法) Given a string s, find the longest pal ...
- USACO 6.3 章节 你对搜索和剪枝一无所知QAQ
emmm........很久很久以前 把6.2过了 所以emmmmmm 直接跳过 ,从6.1到6.3吧 Fence Rails 题目大意 N<=50个数A1,A2... 1023个数,每个数数值 ...
- [Golang]Go Packages
---------------------------------------------------------------------------------------------------- ...
- [转]后缀自动机(SAM)
原文地址:http://blog.sina.com.cn/s/blog_8fcd775901019mi4.html 感觉自己看这个终于觉得能看懂了!也能感受到后缀自动机究竟是一种怎样进行的数据结构了. ...
- 字符串匹配算法1-KMP
前面介绍过,字符串搜索一般来说有三种方式,前缀搜索,后缀搜索,子串搜索.KMP使用的是前缀搜索. 假设p的偏移是i,也就是窗口的位置是i,匹配到位置j+1时发现了不匹配.现在的问题是向前移动窗口到什么 ...
- Remoting接口测试工具
动手写一个Remoting接口测试工具 基于.NET开发分布式系统,经常用到Remoting技术.在测试驱动开发流行的今天,如果针对分布式系统中的每个Remoting接口的每个方法都要写详细的测试脚本 ...
随机推荐
- seq2sparse(4)之PartialVectorMergeReducer源码分析
继前篇blogseq2sparse(3)之TFParitialVectorReducer源码分析 之后,继续分析下面的代码,本次分析的是PartialVectorMergeReducer的源码,这个r ...
- <微软的软件测试之道>读书笔记3
一.自动化的标准步骤: 1.环境初始化,并检查环境是否处于正确的状态,能否开始测试 2.执行步骤 3.判断结果,并将结果保存到其它地方以供检查分析 4.环境清理,清理本用例产生的垃圾(临时文件.环境变 ...
- Drawable 着色的后向兼容方案
看到 Android Weekly 最新一期有一篇文章:Tinting drawables,使用 ColorFilter 手动打造了一个TintBitmapDrawable,之前也看到有些文章使用这种 ...
- Linux之make 、makefile的使用方法
◊make是什么? make是一个命令工具,是一个解释makefile中指令的命令工具.它可以简化编译过程里面所下达的指令,当执行 make 时,make 会在当前的目录下搜寻 Makefile (o ...
- MVC4 EF linq从客户端中检测到有潜在的危险的Request.Path值
今天做项目的时候遇到了这样的问题贴出来给大家分享下啦, 使用MVC4 EF linq跳转视图的时候出现,从客户端中检测到有潜在的危险的Request.Path值错误,如下图所示: 解决办法如下: r ...
- SQL 语句修改列名 属性 默认值
--修改字段名exec sp_rename '表名.列名','新列名' --修改字段属性alter table 表名 alter column 列名 nvarchar(100) null; --修改默 ...
- PHP 运算符
本章节我们将讨论 PHP 中不同运算符的应用. 在 PHP 中,赋值运算符 = 用于给变量赋值. 在 PHP 中,算术运算符 + 用于把值加在一起. PHP 算术运算符 运算符 名称 描述 实例 结果 ...
- 你好,C++(26)如何与函数内部进行数据交换?5.1.3 函数参数的传递
5.1.3 函数参数的传递 我们知道,函数是用来完成某个功能的相对独立的一段代码.函数在完成这个功能的时候,往往需要外部数据的支持,这时就需要在调用这个函数时向它传递所需要的数据它才能完成这个功能获 ...
- 画板社交工具开发分享——HTML5 canvas控件、PHP、社交分享学习(一)
不谈国内社交网站(人人.微博等)目前的盈利状况如何,facebook.twitter都已经取得了很大的成功.这一定程度上都得益于人们对社交的喜爱和投入. 目前的情况来看,也有很多人已经对直接的文字分享 ...
- java+tomcat 在 linux下的部署
一.配置JAVA运行环境 1.安装jdk. 从sun公司网站www.sun.com下载linux版本的jdk, 建议使用jdk1.6版本.地址http://java.sun.com/javase/do ...