news 2026/6/9 22:13:45

hot100 3.无重复字符的最长子串

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
hot100 3.无重复字符的最长子串

思路:滑动窗口。

复杂度分析:

1.时间复杂度:O(n)。

2.空间复杂度:O(1)。

(一)方法一:整型数组

class Solution { public int lengthOfLongestSubstring(String s) { char[] chars = s.toCharArray(); int n = chars.length; int res = 0; int left = 0; int[] cnt = new int[128]; //ASCII码的字符集有128个字符 for(int right = 0;right < n;right++){ char c = chars[right]; cnt[c]++; while(cnt[c] > 1){ //窗口内有重复元素 cnt[chars[left]]--; //移除窗口左端点字母 left++; //缩小窗口 } res = Math.max(res,right - left + 1); //更新窗口长度的最大值 } return res; } }

(二)方法二:布尔数组

class Solution { public int lengthOfLongestSubstring(String s) { char[] chars = s.toCharArray(); int n = chars.length; int res = 0; int left = 0; boolean[] has = new boolean[128]; //ASCII码的字符集有128个字符 for(int right = 0;right < n;right++){ char c = chars[right]; // 如果窗口已经包含c,那么再加入一个c会导致窗口内有重复元素 // 所以要在加入c之前,先移出窗口内的c while(has[c]){ //窗口内有c has[chars[left]] = false; left++; //缩小窗口 } has[c] = true; //加入c res = Math.max(res,right - left + 1); //更新窗口长度的最大值 } return res; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 7:04:59

RabbitMQ 集群常见“坑”全攻略:从根本原因到救命排查技巧

RabbitMQ 集群常见“坑”全攻略:从根本原因到救命排查技巧 RabbitMQ 集群是保障消息队列 高可用 和 高性能 的核心架构,但在实际部署和运维过程中,往往会踩到各种“坑”。 本文将系统梳理这些常见问题、根本原因,并总结关键的排查和修复技巧,帮助你在生产环境中更好地稳定…

作者头像 李华
网站建设 2026/6/9 20:05:11

Windows找不到d3dx9_31.dll文件 无法启动游戏软件 彻底修复解决

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/6/9 12:49:04

别再无脑敲 grep 了,我靠这 5 个选项,定位问题速度提升 10 倍

在日常运维工作中,我们几乎每天都在和日志、配置文件、代码片段打交道。 日志动辄几十 GB,配置文件成百上千行,出问题时,时间永远是最宝贵的资源。 很多同事都会用 grep,但90% 的人只会用最基础的 grep “keyword” file。 结果就是: 要么匹配不准 要么结果一大堆 要么漏…

作者头像 李华
网站建设 2026/6/9 20:05:25

手机端AIDE编译器安卓朗读器软件代码

java代码package com.ld.app; /*手机编程王APP & AIDE编译器联合出品官方微信2133688724微信公众号&#xff1a;手机编程APP官网&#xff1a;www.shoujibiancheng.com */import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.speech.…

作者头像 李华
网站建设 2026/6/9 17:55:17

【Linux系统】进程终止、进程等待与进程替换的概念与实现

代码运行完毕&#xff0c;结果正确代码运行完毕&#xff0c;结果不正确代码异常终止&#xff08;被信号终止了&#xff09;而进程执行的结果状态&#xff0c;可以用两个数字表示出来&#xff0c;即退出码和终止信号&#xff1a;int exit_code, int exit_signal&#xff1a;当代…

作者头像 李华
网站建设 2026/6/9 21:08:22

第六十三篇-ComfyUI+V100-32G+代码-Z-Image-Turbo

环境 系统&#xff1a;CentOS-7 CPU : E5-2680V4 14核28线程 内存&#xff1a;DDR4 2133 32G * 2 显卡&#xff1a;Tesla V100-32G【PG503】 (水冷) 驱动: 535 CUDA: 12.2 ComfyUI version: 0.4.0 ComfyUI frontend version: 1.34.8系统软件信息 系统信息 OS linux Python Vers…

作者头像 李华