博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【LeetCode OJ】Longest Substring Without Repeating Characters
阅读量:7251 次
发布时间:2019-06-29

本文共 902 字,大约阅读时间需要 3 分钟。

题目链接:

题目:Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is 3. For "bbbbb" the longest substring is "b", with the length of 1.

解题思路:维护一个窗口,每次关注窗口中的字符串,维护一个HashSet,每扫描一个字符,如果HashSet中包含该字符,则移动左边窗口至重复字符的下一个字符,如果HashSet中没有改字符,则移动右边窗口。时间负复杂度为O(n),空间复杂度也为O(n)。具体代码如下:

public class Solution{    public static void main(String[] args)    {        String str="abcbbc";        System.out.println(lengthOfLongestSubstring(str));    }    public static int lengthOfLongestSubstring(String s)     {         if(s==null && s.length()==0)                return 0;            HashSet
set = new HashSet
(); int max = 0; //最大不重复字符串长度 int left = 0; //不重复字符串起始位置 int right = 0; //不重复字符串结束为止 while(right

 

转载地址:http://sshbm.baihongyu.com/

你可能感兴趣的文章
移动web开发框架研究
查看>>
Word 2013 发布51CTO博客
查看>>
byRef 与 byVal
查看>>
QTP对日前控件的处理
查看>>
ES6中的尾递归优化例子
查看>>
(寻求志同道合的兄弟)寻求eclipse插件开发能手
查看>>
斗地主算法的设计与实现(一)--项目介绍&如何定义和构造一张牌
查看>>
前端技术/前端冷知识集锦
查看>>
免费高清视频素材下载网站
查看>>
RGW Usage类解析
查看>>
mouseover、mouseout防止多次触发
查看>>
Linux命令行:rpm 命令参数使用详解
查看>>
expdp数据泵自动备份脚本
查看>>
菲波那切数列
查看>>
java 调用存储过程示例版
查看>>
linux之lvm管理及扩容
查看>>
eclipse 查找接口实现类快捷键
查看>>
awk(二)流程控制,数组
查看>>
归并排序
查看>>
Netmask v. Address Prefix Length
查看>>