字符串的最长不重复字串
(start,i)表示当前发现的最大长度不重复字串,当遍历到i+1时候,看a[i+1]是不是在(start,i)里面(用map),有两种情况
其中map<char,idex> 记录每个字符出现的位置。
1)如果在map里且当前遍历索引>start,那么计算目前最大长度MAX=max(i-start,MAX),并且更新start=m[c]+1;
2) 否则,那么更新最大长度+1。
int longestSubstring(string A, int n) {map<char, int> m; //表示字符串中每个字符是否出现,初始化为0,表示未出现 int start = 0,MAX = 0; //遍历该字符串,每遍历一个字母时,利用map去找该字母最近一次出现是什么时候 //中间这一段便是无重复字符的字符串。 for (int i = 0; i <= n; i++){ char c = A[i]; if (m.find(c)!=m.end() && m[c] > start){ start = m[c] + 1; MAX=max(i-start,MAX);}else{MAX = max(MAX, i - start + 1); }m[c] = i; //map添加数据 mapStudent[char] = int } return MAX;
}
字符串的最长不重复字串相关推荐
- 查找一段文字中最长的重复字串 – 编程珠玑(排过序的后缀数组的应用)
转自:https://www.cse.msu.edu/~liyang5/?p=53 <编程珠玑>在第15章"珍珠字符串"一节,给出了一个非常漂亮的实现 – 基于目标字符 ...
- 字符串相关处理kmp,前缀数,后缀树,后缀数组,最长回文串,最长重复字串,最长非重复字串
1. 最长回文串 一般用后缀数组或者后缀树可以解决, 用此方法:http://blog.csdn.net/v_july_v/article/details/6897097 预处理后缀树,使得查询LCA ...
- python应用:最长无重复字串提取
一.算法说明 如何获取一个字符串中最大的不重复子串? 假定给定字符串:算法如下: 1)取出第一个字符,放入集合,长度记为 2)取出与比较,如果不在set内,将 加入:回到1) 如果在set内,记录le ...
- leetcode-3:最长无重复字串
思路:滑动窗口+大小为257的整型数组记录子串元素的位置/哈希表 位置数组:0表示不在子串中,非0表示位置 i 起始位置 j 结束位置 int lengthOfLongestSubstring(str ...
- 【算法题】求一个字符串的最长不重复子串
[题目描述] 求一个字符串的最长不重复子串.比如:给定"abcabcbb"的答案是"abc",长度是3:给定"bbbbb"的答案是" ...
- 最长不重复字符串python_Python简单实现查找一个字符串中最长不重复子串的方法...
本文实例讲述了Python简单实现查找一个字符串中最长不重复子串的方法.,具体如下: 刚结束的一个笔试题,很简单,不多说简单贴一下具体的实现: #!usr/bin/env python #encodi ...
- 牛客题霸 [找到字符串的最长无重复字符子串] C++题解/答案
牛客题霸 [找到字符串的最长无重复字符子串] C++题解/答案 题目描述 给定一个数组arr,返回arr的最长无的重复子串的长度(无重复指的是所有数字都不相同). 题解: i和j两个指针分别指不重复子 ...
- 《程序员代码面试指南》第五章 字符串问题 找到字符串的最长无重复字符子串...
题目 找到字符串的最长无重复字符子串 java代码 努力中.... 转载于:https://www.cnblogs.com/lizhouwei/p/8955166.html
- python查找最长的字符串_Python简单实现查找一个字符串中最长不重复子串的方法...
本文实例讲述了Python简单实现查找一个字符串中最长不重复子串的方法.分享给大家供大家参考,具体如下: 刚结束的一个笔试题,很简单,不多说简单贴一下具体的实现: #!usr/bin/env pyth ...
最新文章
- C++:随笔2--I/O实践
- 想用Python学机器学习?Google大神替你写好了所有的编程示范代码
- python官网下载步骤linux-linux如何安装python
- linux gdb#039;查找寄存器地址,【Linux跟踪和调试】gdb
- QT的QDesignerContainerExtension类的使用
- u盘安装linux 提示no such device_树莓派学习笔记2-U盘挂载和系统备份
- Apache详细介绍 - [ Apache v2.4.10 for Windows ]
- mysql 学习笔记07日期相关函数01
- android退出app代码,Android应用退出代码各种方式
- IDEA 格式化XML命令
- Flask开发 导入flask_uploads包时提示“IMPORTERROR: CANNOT IMPORT NAME ‘SECURE_FILENAME‘ FROM ‘WERKZEUG‘“
- word2007制作目录
- java-net-php-python-69jspm高校在线课程平台计算机毕业设计程序
- 打开PowerPoint提示:PowerPoint上次起送时失败。以安全模式启动PowperPoint将帮助您纠正或发现启动中的问题
- Android全局捕获异常信息,并上传到服务器。
- alios things开发板_AliOS Things图形界面开发指南
- el-upload点击打开文件上传弹窗之前进行其他操作,等待操作完成后再打开文件上传弹窗
- 小程序手势返回以及手机自带返回功能问题解决思路
- 转:一套大而全的系统架构体系与具体落地方案
- 【工控基础】1. SCADA系统介绍
热门文章
- 接私活被公司开除。。
- 骚操作!他居然同时给谷歌和 Facebook 上班干活
- 为什么阿里巴巴Java开发手册中强制要求接口返回值不允许使用枚举?
- 张一鸣:做CEO要避免理性的自负
- 《Spark与Hadoop大数据分析》一一1.1 大数据分析以及 Hadoop 和 Spark 在其中承担的角色...
- linux 内核 第二周 操作系统是如何工作的
- Win2008 R2 VDI动手实验系列之一:Active Directory搭建
- iphone-common-codes-ccteam源代码 CCNSArray.m
- 设计模式之Strategy(策略模式系列1)
- seo图片的alt属性介绍及写法?