3. 无重复字符的最长子串

难度中等3341

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。

示例 1:

输入: "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。

示例 2:

输入: "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。

示例 3:

输入: "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。

思路:遍历字符串,利用hash表判断有无重复字符,同时更新最长子串长度max,如果有重复字符则找到重复字符的位置i,然后更新index起始位置为i+1(重复字符前面的字符都不用再参与计算了,包含他们的最长子串都不超过当前max)

class Solution {
public:int lengthOfLongestSubstring(string s) {map<char,int> hash;int result = 0;int index = 0;for(int i=0;i<s.length();++i){//如果找到重复的,并且这个重复值的index大于等于上一重复值索引,那么就去更新indexif(hash.find(s[i])!=hash.end() && hash[s[i]]>=index)index = hash[s[i]]+1;result = max(i-index+1,result);hash[s[i]] = i;}return result;}
};

最长不重复子串—leetcode3相关推荐

  1. Leetcode3.最长不重复子串

    最长不重复子串 题目 分析 代码 代码运行过程 个人总结 题目 给定一个字符串,找出不含有重复字符的最长子串的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: ...

  2. 最长不重复字符串python_Python简单实现查找一个字符串中最长不重复子串的方法...

    本文实例讲述了Python简单实现查找一个字符串中最长不重复子串的方法.,具体如下: 刚结束的一个笔试题,很简单,不多说简单贴一下具体的实现: #!usr/bin/env python #encodi ...

  3. 寻找一个字符串中的最长不重复子串的长度

    2019独角兽企业重金招聘Python工程师标准>>> 算法使用两个下标来分别代表不重复子串的第一个字符的前一个字符和最后一个字符,记为i和j flag为长度,n为比较的参数 < ...

  4. [Jobdu] 题目1530:最长不重复子串

    题目描述: 最长不重复子串就是从一个字符串中找到一个连续子串,该子串中任何两个字符都不能相同,且该子串的长度是最大的. 输入: 输入包含多个测试用例,每组测试用例输入一行由小写英文字符a,b,c... ...

  5. 最长重复子串和最长不重复子串求解

    最长重复子串和最长不重复子串求解 本文内容框架: §1 最长重复子串 基本方法.KMP算法求解.后缀数组求解 §2 最长不重复子串 基本方法.动态规划.动态规划+Hash §3 小结 §1最长重复子串 ...

  6. 最长公共子序列|最长公共子串|最长重复子串|最长不重复子串|最长回文子串|最长递增子序列|最大子数组和...

    最长公共子序列|最长公共子串|最长重复子串|最长不重复子串|最长回文子串|最长递增子序列|最大子数组和 文章作者:Yx.Ac   文章来源:勇幸|Thinking (http://www.ahathi ...

  7. java 求最长重复子串_给定一个字符串,求出其最长的重复子串。

    #include #include #include #include using namespace std; //给定一个字符串,求出其最长的重复子串 //方法一 string lsubstr_1 ...

  8. LeetCode:Longest Substring Without Repeating Characters(最长不重复子串)

    题目链接 Given a string, find the length of the longest substring without repeating characters. For exam ...

  9. python查找最长的字符串_Python简单实现查找一个字符串中最长不重复子串的方法...

    本文实例讲述了Python简单实现查找一个字符串中最长不重复子串的方法.分享给大家供大家参考,具体如下: 刚结束的一个笔试题,很简单,不多说简单贴一下具体的实现: #!usr/bin/env pyth ...

最新文章

  1. 平衡自动化与智能化,构建AI生态系统
  2. 如果把线程当作一个人来对待,所有问题都瞬间明白了
  3. 光流 | 基于HS光流算法的稠密光流提取(Matlab源代码)
  4. boost::hana::intersection用法的测试程序
  5. IOS正则表达式的用法简介
  6. 霍因科技获首届全国信创产业生态创新奖
  7. 完美解决xhost +报错: unable to open display 装oracle的时候总是在弹出安装界面的时候出错...
  8. swoole服务器主动推消息,实现websocket-主动消息推送laravelswoole
  9. 官网下载mysql源码
  10. 老毛子(Padavan)路由器解锁网易云灰色音乐
  11. 关于Android直接连MySQL获取数据的真机测试的一些坑
  12. Java基础知识点总结归纳,超级全面!(2021版)
  13. 哈夫曼树及哈夫曼编码例题
  14. Movist Pro for Mac 2.2.16 — 播放器
  15. 沙扬娜拉一首——赠日本女郎(徐志摩)
  16. java使用反射生成JDK动态代理
  17. 计算机机械硬盘寿命,有问有答:电脑的机械硬盘和固态硬盘哪个寿命更长?
  18. 关于async await 等任务队列插话
  19. 除了 xshell,还有什么类似的好用的软件
  20. js开根号_在JavaScript中使用开平方根的sqrt()方法

热门文章

  1. pg多线程更新会发生死锁_何时用多线程?多线程需要加锁吗?线程数多少最合理?...
  2. 内温的整体优先效应实验_实验室通风与系统控制
  3. linux系统分区不,其中,不属于Linux系统分区的是()。
  4. 设计模式----工厂模式
  5. 《Language Implementation Patterns》之访问重写语法树
  6. [Python人工智能] 三十二.Bert模型 (1)Keras-bert基本用法及预训练模型
  7. PHP网站使用JavaScript和Iframe简单实现部分刷新效果
  8. iOS之常用的正则表达式
  9. 2019\Province_C_C++_B\试题G-完全二叉树的权值
  10. 837. New 21 Game