您的位置:首页 > 其它

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

2018-10-31 16:33 183 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/luwei0418/article/details/83585647

题目略。当时并不会做,思路大致就是和官方解答中的方法一类似,时间复杂度n3。

查看了方法三之后,豁然开朗,这里简单介绍一下思路。

核心思想大概是这样的:设开始计算无重复字符串的起点字符为位置i,设当前所读的字符为位置j;若从位置i至位置j的字符串中,存在有与位置j的字符相同的字符,位置设为位置k,则将j-i作为max值,并将位置i更新至位置k+1。之后继续从位置j开始读取字符。重复该过程。max即为最长无重复字符串的长度。

在该过程中,直接排除了包含两个或多个相同字符的字符串,所以速度会大大提升。当然和hashmap也有很大的关系。

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: