无重复字符的最长字串

leetcode地址:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/

题目描述:

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

示例:

输入: "abcabcbb"
输出: 3

解决思路:

使用map  lastOccured[byte]int 记录字符和字符最后出现的下标

对于字符串每个字符x:

1.lastOccured[x]不存在 或者 小于start时不做操作。

2.lastOccured[x]>=start 时,start = lastOccured[x]+1。

3.每次都要更新lastOccured[x],更新最大长度maxLength。

代码如下:

func lengthOfLongestSubstring(s string) int {
lastOccured := make(map[byte]int)
start :=
maxLength :=
for i, ch := range []byte(s){
if num, ok := lastOccured[ch]; ok&& num >= start{
start = num +
}
if i-start+ > maxLength{
maxLength = i-start+
}
lastOccured[ch] = i
}
return maxLength
}

最新文章

  1. PHP 代理模式
  2. "递归"实现"约瑟夫环","汉诺塔"
  3. QQWry.dat 数据写入
  4. Tomcat基础教程(四)
  5. Java中实现对象的比较:Comparable接口和Comparator接口
  6. win7 打开方式不能添加程序
  7. 如何使用css、布局横向导航栏
  8. Android -------- 从一个Fragment跳转到另一个Fragment
  9. 【百度地图API】如何批量转换为百度经纬度
  10. Python模块的动态加载机制
  11. Redis集群之配置文件详解(待完善)
  12. SpriteBuilder中的CCSprite9Slice是个什么鬼?
  13. RHEL6非交互式工具sshpass和expect安装
  14. python -- 判断给定的参数是否是地理位置的经度和纬度
  15. win10下快捷命令
  16. POJ 2663 Tri Tiling 矩阵快速幂 难度:3
  17. 获取本地内网和外网IP地址
  18. 微信小程序实现文字跑马灯
  19. hdu 2147 kiki's game, 入门基础博弈
  20. WAS部署 -- SRVE0255E: 尚未定义要处理 /snoop 的 Web 组/虚拟主机

热门文章

  1. SpringBoot 连接kafka ssl 报 CertificateException: No subject alternative names present 异常解决
  2. Java匹马行天下之教你用学汉语式方法学编程语言
  3. iOS渠道分包2种模式之包内注入文件分包
  4. mydumper 介绍及使用
  5. jdbc 以及 事务的java类编写
  6. 02-15 Logistic回归(鸢尾花分类)
  7. 【NOIP模拟赛】小奇的矩阵
  8. Redis 复制过程详解
  9. [JZOJ5455]【NOIP2017提高A组冲刺11.6】拆网线
  10. Vulnhub靶场渗透练习(一) Breach1.0