字符串中最长不重合子串长度
例子
"abmadsefadd" 最长长度为5
"avoaid" 最长长度为3
思路
空间换时间hashTable,起始位置设为beg。初始化全局最大值0。开辟字符数组,起初标为0。
访问数组时
- 如果该字符在hashTable对应的哈希值为1,则计算当前位置到beg的距离,并且把beg赋值为beg+1。如果大于全局最大值,则替换全局最大值
- 如果该字符在hashTable对应的哈希值为0,则置1
参考代码
#include <iostream> using namespace std;int getMaxLen(const string &s) {int beg = 0;int span = 0;int maxspan = 0;int hashTable[128];for (int i = 0; i < 128; ++i)hashTable[i] = 0;int lens = s.size();for(int i = 0; i < lens; ++i){int index = s[i];if (hashTable[index] == 1){span = i - beg;if (span > maxspan)maxspan = span;beg++;}else{hashTable[s[i]] = 1;}}return maxspan; }int main() {const string a = "abmadsefadd";const string a1 = "avoaid";cout << getMaxLen(a) << endl;cout << getMaxLen(a1) << endl; }
结果
7
3
字符串中最长不重合子串长度相关推荐
- 字符串中连续出现最多的子串 amp; 字符串中最长反复子串
字符串中连续出现最多的子串 & 字符串中最长反复子串 字符串中连续出现最多的子串 & 字符串中最长反复子串,这两个问题都能够用后缀数组来表示,至于后缀数组能够參考编程珠玑P156:后缀 ...
- 面试宝典_Python.常规算法.0002.输出任意两个字符串中最长公共子串?
面试题目: 1. 用PY实现求任意两个字符串最长的公共子串? 解题思路: 1. 先求出长度最小的字符串,然后遍历其索引,这样可以避免字符串索引溢出,然后判断对应索引的值是否相同,相同的话就加到目标字典 ...
- 获取字符串中最长单词的长度
有一个字符串,里面包含空格和其他非空白字符,求不含空格的最大字串的长度. String s = " aa aa aaaabd 4545545454545454545 aaaddddfa a ...
- c语言统计最长单词长度,求3个字符串中最长单词的长度 求救 会一个的
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这是我编的1个得 #include #include int main() {int alphabetic(char); int longest(char ...
- c语言string最大长度,求3个字符串中最长单词的长度 求救 会一个的
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这是我编的1个得 #include #include int main() {int alphabetic(char); int longest(char ...
- 求字符串中最长无重复字符的子串
题目:求一个字符串中最长的没有重复字符的子串. 思路:用hash表从i遍历查看包含i的最长 无重复子串. int max_unique_substring2(char * str) {int i,j; ...
- python字符串中最长的连续升序子串_Leetcode刷题练Python无重复字符的最长子串
这是一道字符串处理算法的题目,在日常编程中,处理字符串是常见任务.该题目会涉及到一个概念"滑动窗口". 一.题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度 ...
- python求字符串中出现的第一个最长重复子串(如banana中最长重复子串为ana)
#字符串中出现的第一个最长重复子串 class commonsubstring():def maxlen(self,s1,s2): #最长公共子串的长度for i in range(min(len(s ...
- 最长不重复字符串python_Python简单实现查找一个字符串中最长不重复子串的方法...
本文实例讲述了Python简单实现查找一个字符串中最长不重复子串的方法.,具体如下: 刚结束的一个笔试题,很简单,不多说简单贴一下具体的实现: #!usr/bin/env python #encodi ...
最新文章
- 用Cordova打包Vue-vux项目
- Java 查看文件绝对路径,JAVA获取文件绝对路径的方法
- 12:MYSQL 使用函数创建自增序列管理表(批量使用自增表,设置初始值,自增幅度)
- goto在c语言中的作用,关键字goto在C语言中的使用
- 简单支付验证(SPV)与创新
- 基于倒谱法和线性预测法估计基音频率(MATLAB和Python)
- python 面向对象 私有化浅析
- 利用反射做类参数的校验
- 学 Python 最大的 1 个误区,看看你中招了吗?
- 嵌套点击事件只执行第一次
- xshell 无法定位输入点_linux基础知识个人总结
- 【基础】吴恩达机器学习笔记 - 线性回归 代价函数 梯度下降
- Android技术专家 高焕堂 推荐这本书
- php中简单ubb案例,php Ubb代码编辑器函数代码
- Linux软件安装及修改软件源
- 国内首款 FeliCa协议NFC读卡器芯片 FSV9512 国产替代NXP PN512 同时可兼容 A卡 B卡 每月KK级出货量
- 期待了1年多了《黑客攻防实战编程》终于面世了!
- PHP判断PC浏览器与手机浏览器的方法
- ajax方法参数详解,$.ajax()方法参数详解
- css保持长宽比拉伸,使用CSS保持div的长宽比
热门文章
- 《企业大数据系统构建实战:技术、架构、实施与应用》——第1章 企业大数据战略定位 1.1 宏观...
- DataTable.ImportRow()与DataTable.Rows.Add()的区别
- Playframework项目启动后自动停止问题记录
- 我在阿里云玩蟹科技分享篇
- LeetCode 504. Base 7 (C++)
- Java并发 乐观锁和悲观锁 乐观锁的一种实现方式CAS
- Apache(httpd) 报错You don't have permission to access /on this server.
- 重构代码的tricks
- phpcms 调用多级栏目和多级栏目下的文章列表
- java用swing日历标记节日_如何用JavaSwing作一个日历控制程序?