leetcode-3:最长无重复字串
思路:滑动窗口+大小为257的整型数组记录子串元素的位置/哈希表
位置数组:0表示不在子串中,非0表示位置
i 起始位置
j 结束位置
int lengthOfLongestSubstring(string s) {int length = s.size();if (length == 0) return 0;int pos[257] = { 0 };//存储子串中各个元素的位置,如果是0,则不在子串中int max_len = 1;//最大不重复子串长度for (int i = 0, j = 0; i < length && j < length;)//i前标,b后边{if (pos[s[j]] == 0) {//子串中无元素pos[s[j]] = j + 1;j++;}else {//子串中有元素,i后移到重复元素的后一个位置,j往后移一位,i到后来的位置的中间元素的位置清0for (; i < pos[s[j]]+1; i++)pos[s[i]] = 0;pos[s[j]] = j;j++;}max_len = max(max_len, j - i);}return max_len;}
leetcode-3:最长无重复字串相关推荐
- python应用:最长无重复字串提取
一.算法说明 如何获取一个字符串中最大的不重复子串? 假定给定字符串:算法如下: 1)取出第一个字符,放入集合,长度记为 2)取出与比较,如果不在set内,将 加入:回到1) 如果在set内,记录le ...
- 查找一段文字中最长的重复字串 – 编程珠玑(排过序的后缀数组的应用)
转自:https://www.cse.msu.edu/~liyang5/?p=53 <编程珠玑>在第15章"珍珠字符串"一节,给出了一个非常漂亮的实现 – 基于目标字符 ...
- 字符串相关处理kmp,前缀数,后缀树,后缀数组,最长回文串,最长重复字串,最长非重复字串
1. 最长回文串 一般用后缀数组或者后缀树可以解决, 用此方法:http://blog.csdn.net/v_july_v/article/details/6897097 预处理后缀树,使得查询LCA ...
- 字符串的最长不重复字串
(start,i)表示当前发现的最大长度不重复字串,当遍历到i+1时候,看a[i+1]是不是在(start,i)里面(用map),有两种情况 其中map<char,idex> 记录每个字符 ...
- LeetCode题——最长无重复子串
题目 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度.如: 输入: "abcbabcd" 输出: 4 解释: 因为无重复字符的最长子串是 "abcd&qu ...
- LeetCode中等题之无重复字符的最长字串
题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 &q ...
- LeetCode.3-最长无重复字符子串(Longest Substring Without Repeating Characters)
这是悦乐书的第341次更新,第365篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Medium级别的第2题Longest Substring Without Repeating Cha ...
- 【Leetcode | 1】3. 无重复字符的最长子串
这里我们可以建立一个HashMap,建立每个字符和其最后出现位置之间的映射,然后我们需要定义两个变量res和left,其中res用来记录最长无重复子串的长度,left指向该无重复子串左边的起始位置的前 ...
- 求字符串中最长无重复字符的子串
题目:求一个字符串中最长的没有重复字符的子串. 思路:用hash表从i遍历查看包含i的最长 无重复子串. int max_unique_substring2(char * str) {int i,j; ...
最新文章
- html5--5-15 绘制阴影
- 致女儿人生中第一个儿童节快乐(2018-06-01)
- JavaScript精简代码 非一般的写法(转载)
- 某八位微型计算机地址为20位,微机原理作业及参考答案
- Apache ZooKeeper - ZK的基本特性与节点应用场景一览
- HBase之BloomFilter
- 李洪强经典面试题146-网络
- rabbitmq安装centos7
- Linux中Docker部署Redis
- All Things Intelligence—Baidu World 2020
- 称赞上海禁用一次性酒店用品
- Java 登录拦截器
- reactos操作系统实现(110)
- 线性代数 【23】 概念的深入01 - Points坐标点和Vectors向量
- 编写README文档(Markdown)
- 产品策划到底是做什么的?
- python程序-小说下载
- 如何通过组策略统一为公司电脑设置“兼容性视图设置”
- 嵌入式系统开发笔记81:嵌入式系统的本质
- 谁在痛打“诺顿”落水狗