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接口的每个方法都要写详细的测试脚本 ...
随机推荐
- hash表的创建
功能:创建一个hash table.假设有处理冲突,则採用再散列法放置该元素 代码參考<零基础学数据结构> 代码例如以下: root@ubuntu:/mnt/shared/appbox/h ...
- Php Laravel框架 多表关系处理 之 Eloquent一对多关系处理
Php Laravel框架 多表关系处理 之 Eloquent一对多关系处理 本博文主要介绍 Laravel 框架中 Eloquent 对一对多关系的处理以及在 Laravel Administra ...
- 《火球——UML大战需求分析》(第1章 大话UML)——1.4 如何学好UML?
说明: <火球——UML大战需求分析>是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张.欢迎你按文章的序号顺序阅读,谢 ...
- [Angular 2] Rendering an Observable with the Async Pipe
Angular 2 templates use a special Async pipe to be able to render out Observables. This lesson cover ...
- Linux基础知识之 系统启动流程
[1]Linux启动的几个主要阶段 启动流程示意图
- java里面的equals和hashcode的总结
问题1: java比较两个对象,除了equals,为什么还要重写hashcode方法? 基本类型比较,用==就可以了. 对象比较,equals比较是对象的内存地址,hashcode比较的也是对象的内存 ...
- PartialViewResult用法
后台代码 ) { IList<TestModel> lstTestModel = this.GetModelList(categoryid); return PartialView(lst ...
- thrift之TTransport类体系原理及源码详细解析1-类结构和抽象基类
本章主要介绍Thrift的传输层功能的实现,传输的方式多种多样,可以采用压缩.分帧等,而这些功能的实现都是相互独立,和上一章介绍的协议类实现方式比较雷同,还是先看看这部分的类关系图,如下: 由上面的类 ...
- /etc/host 配置主机名字
每个机子中的hosts文件都应有下面域IP对应的文件
- php本页面调试报错配置
ini_set('display_errors', 'On'); ini_set('memory_limit', '64M'); //报错,详细 error_reporting(E_ALL); //不 ...