博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
求两个字符串的最长公共字串(连续)
阅读量:6986 次
发布时间:2019-06-27

本文共 632 字,大约阅读时间需要 2 分钟。

题目描述:

输入两个字符串,求其的最长的公共的字串,这与最长公共子序列不一样

输出两字符串的最长公共字串

思路一:

从字符串A开始遍历,同时遍历字符串A,找到第一个与当前字符串A相同的字符,此时记下当前的pos,并同时遍历两字符串,

直到找到两字符串不相同的字符,记下其长度,与max比较,大则则将相同的子串copy到max_str中

C++实现

 

#include 
#include
char* longest_str(char* one, char* two){ int i=0, j=0, max=0, m=0; //m:record the number of equal characters int len_one = strlen(one); int len_two = strlen(two); char *max_str = (char*)malloc(len_one+1); memset(max_str, 0, len_one+1); for(i=0; i
max) //compare m and max { max = m; strncpy(max_str, &two[j], m); //copy m characters max_str[m]='\0'; } } } } return max_str;}

 

 

 

转载地址:http://rjmpl.baihongyu.com/

你可能感兴趣的文章
彻底搞懂Bean加载
查看>>
iOS之传值
查看>>
技术blog 迁移
查看>>
linux 定时器怎么用? crontab 基础
查看>>
React Native - Image
查看>>
Docker和宿主机操作系统文件目录互相隔离的实现原理
查看>>
小程序踩坑系列一
查看>>
探索webpack热更新对代码打包结果的影响(二)
查看>>
微信小程序_豆瓣电影
查看>>
记一次网络模块的小规模重构
查看>>
FMI-人工智能&大数据高峰论坛(深圳站)
查看>>
区块链简单研读笔记
查看>>
为什么 scrum 开发人员是一个 T-形的人 ?
查看>>
使用 CODING 进行 Spring Boot 项目的集成
查看>>
centOS上docker 的简单使用
查看>>
web前端性能优化总结
查看>>
pandas 修改 DataFrame 列名
查看>>
《2018年云上挖矿态势分析报告》发布,非Web类应用安全风险需重点关注
查看>>
leetcode409.Longest Palindrome
查看>>
以太坊客户端Ethereum Wallet与Geth区别简介
查看>>