无重复字符的最长子串

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

示例 1:

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

示例 2:

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

示例 3:

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

算法

运用hash映射,记录每种char之前出现的位置,这样用两个index的不断移动,迭代(出现冲突,就跳转到之前出现的字符的后一位),就可以在O(n)的时间内完成算法

代码

class Solution {public:int lengthOfLongestSubstring(string s) {if (s.size() <= 1) return s.size();int assii[250];for (int k = 0; k<250; ++k)assii[k] = -1;int count = 0, i = 0, j = 0;while (j < s.size()) {while (j < s.size() && assii[s[j]] < i){assii[s[j]] = j;j++;}if (count < (j - i)) count = j - i;// cout << i << " " << j << " " << assii[s[j]] << endl;if (j < s.size()) {i = assii[s[j]] + 1;assii[s[j]] = j;j++;}// cout << i << " " << j << " " << assii[s[j]] << endl;}return count;}
};

无重复字符的最长子串【哈希算法】-O(n)相关推荐

  1. 力扣3. 无重复字符的最长子串 two pointer算法|滑动窗口|尺取法

    无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 & ...

  2. php无重复字符的最长子串,PHP算法之无重复字符的最长子串

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...

  3. 【leetcode】力扣刷题(3):无重复字符的最长子串(go语言)

    一.问题描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 " ...

  4. 刻意练习:LeetCode实战 -- Task16. 无重复字符的最长子串

    背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法(Leetcode)刻意练习训练营 的打卡任务.本期训练营采用分类别练习的模式,即选择了五个知识点(数组.链表.字符串.树.贪心算法),每个知 ...

  5. 【每日一算法】无重复字符的最长子串

    微信改版,加星标不迷路! 每日一算法 - 无重复字符的最长子串 思路答案 首先定义一个指针p指向该字符串的链头,然后通过p指针后的第i个字符是否和p指针后的第j个字符相同来取得最大长度.(也叫做完全遍 ...

  6. 汇编语言求无符号数组中出现的次数最多数_【今日最佳leecode通俗易懂】无重复字符的最长子串...

    相信看了这个标题的同学,对这道题以已经非常不陌生了,就是leecode当中的第三题,之所以要单独的写一写主要对我来说,里面涉及到有一个滑动窗口, 散列表, 字符编码等知识点比较重要,也有几个小技巧,这 ...

  7. 大二菜鸟———无重复字符的最长子串

    这是一枚大二菜鸟的成长反思博客   终于忍不住,在这六月将之的一天开始写起了博客.数据结构计算机算法杂七杂八学了一堆但是都只是浅尝,觉得还是要写博客反刍学习到的知识.   感谢大佬 @Java3y 的 ...

  8. 无重复最长子串python_leetCode 无重复字符的最长子串 python(Longest Substring Without Repeating Characters) python...

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. Default 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 &quo ...

  9. 算法-------无重复字符的最长子串(Java版)

    题目: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度.示例 1:输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc& ...

  10. python学习3. 无重复字符的最长子串(滑动窗口)

    makcooo 2019-04-19 15:47:32  271  收藏 分类专栏: python 版权 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: &quo ...

最新文章

  1. P6271 [湖北省队互测2014]一个人的数论(莫比乌斯反演,拉格朗日插值)
  2. matlab if语句多个执行举例,初学Matlab,有两个语句,if语句和switch语句,有两个例子哪位大神能帮我讲讲...
  3. Linux疑难杂症解决方案100篇(十一)-ubuntu crontab 详细规则及不执行时的解决方法
  4. 机器学习和图像资源整理
  5. HDU6322 Problem D. Euler Function【欧拉函数+数学规律】
  6. Java实例化类的几种方法
  7. Flutter Web 打包并发布到Tomcat服务器上
  8. DTCC 干货分享:Real Time DaaS - 面向TP+AP业务的数据平台架构
  9. winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated
  10. 钽电容、贴片铝电解电容、二极管等正负极判断
  11. mirrorlink
  12. 毛笔字软件测试简历,写字测试
  13. 数字图像处理(13): 形态学处理——图像开运算与图像闭运算
  14. 如何解决图片路径是中文名称的问题
  15. 前端----HTML/CSS 单边框
  16. 一只能看懂表格图片的数据助手
  17. 深圳ERP软件开发 轻松完成复杂数据管理
  18. 前端数据可视化ECharts使用指南——制作时间序列数据的可视化曲线
  19. 【二叉堆】实现最小堆和最大堆
  20. 【恶意代码分析】_第一站

热门文章

  1. Python3 文件读写(持续更新)
  2. python3命令记忆技巧_Python3学习笔记-回忆并复述是加强记忆的好方式!
  3. 使用Jest操作ElasticSearch 报错:No time zone indicator问题的解决方案
  4. 类的属性、类的方法、类的内置方法
  5. 使用Troll对ARM Cortex-M处理器进行系统内核调试
  6. 【iCore3 双核心板_ uC/OS-III】例程一:认识 uC/OS-III
  7. redis.conf 配置档详解
  8. 基于BASYS2的VHDL程序——交通灯(状态机版)
  9. android学习之旅_01
  10. 配置 Cisco ASA Static IP Addressing or DHCP for IPSec ××× Client