LeetCode——Longest Substring Without Repeating Characters

LeetCode——Longest Substring Without Repeating Characters

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

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.

给定一个字符串,找出最长的无反复子串。

	public static int lengthOfLongestSubstring(String s) {
		if (s == null || s.length() == 0)
			return 0;
		int maxlen = 1;
		boolean[] flag = new boolean[256];
		int start = 0;

		for (int i = 0; i < s.length(); i++) {
			char ch = s.charAt(i);
			if (flag[ch]) {
				maxlen = Math.max(maxlen, i - start);
				for (int j = start; j < i; j++) {
					if (s.charAt(j) == ch) {
						start = j + 1;
						break;
					}
					flag[s.charAt(j)] = false;
				}
			} else
				flag[ch] = true;
		}
		return Math.max(maxlen, s.length() - start);
	}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117555.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C#如何:编写简单的 Parallel.ForEach 循环

    C#如何:编写简单的 Parallel.ForEach 循环如何:编写简单的Parallel.ForEach循环本文档使用lambda表达式在PLINQ中定义委托。如果不熟悉C#或VisualBasic中的lambda表达式,请参阅PLINQ和TPL中的Lambda表达式。示例此示例假定C:\Users\Public\Pictures\SamplePictures文件夹中有几个.jpg文件,并创建名为“Modified”的新子文件夹。运行该示例时,它会旋转示例图片中的每个.jpg图像并将其保存到.

    2022年7月19日
    11
  • ubuntu kill命令_killall命令

    ubuntu kill命令_killall命令Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令。通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止,我们就需要先使用ps/pidof/pstree/top等工具获取进程PID,然后使用kill命令来杀掉该进程。kill命令是通过向进程发送指定的信号来结束相应进程的。在默认情况下…

    2025年6月20日
    2
  • 在idea中创建web项目_idea部署web项目

    在idea中创建web项目_idea部署web项目前言:很高兴能够用自己所学知识为你提供答疑!!!今天我就来操作下如何使用idea这款软件创建web项目。步骤:1.创建项目首先新建一个项目然后选择最后一个,创建一个空白的Java项目,点击Next。这个时候给项目命名,我在这里命名为java_web,下面那个可以更改项目存放的路径,我这里放到自定的路径,点击Finish。刚进来的时候,idea会提醒你是否新建一个模块,先点击×,一会我们再创建模块。2.配置jdk这个时候,我们先来配置jdk的路径,以及tomcat的路径,方便之后

    2022年4月19日
    68
  • 数字 和 大小写字母之间的转换 10进制和26进制之间的转换「建议收藏」

    数字 和 大小写字母之间的转换 10进制和26进制之间的转换「建议收藏」/**数字转大写字母(26进制)1-&gt;A2-&gt;B*@sinceJDK1.8*/publicstaticStringnumCovertLetter(intnum){if(num&lt;=0){thrownewRuntimeException("参数必须大于0");…

    2022年9月2日
    2
  • 测试用例设计常用方法有哪些_软件测试用例包括什么

    测试用例设计常用方法有哪些_软件测试用例包括什么目录一、测试用例二、黑盒测试2.1、等价类划分法2.1.1、定义2.1.2、等价类划分分类2.1.3、等价类划分原则2.2.4、等价类方法设计测试用例步骤2.2、边界值方法2.2.1、边界值的概念2.2.2、边界值选择遵循的原则2.2.3、边界值方法设计测试用例2.3、判定表方法2.3.1、判定表结构2.3.2、判定表设计测试用例2.4、因果图方法2.4.1、因果图法设计测试用例一、测试用例测试用例: 将要进行的测试工

    2022年10月9日
    3
  • 浅谈ViewState[通俗易懂]

    浅谈ViewState[通俗易懂]一、什么是ViewState二、使用

    2022年7月21日
    12

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号