【leetcode】!longest substring without repeating chars

news/2024/10/30 15:21:39/

参考资料:《剑指offer》,《程序员代码面试指南》

思路:
对每一个位置str[i]来说,找它的以str[i]为end、最长、无重复字符的子串 的过程 相当于 尽可能以str[i]为end, 向左扩, 直至扩到 以str[i-1]为end、最长、无重复字符的子串的尽头(尽头1),或者 又遇到了 str[i]的相同字符 (即它最近一次出现,尽头2)会扩不动。尽头1和尽头2的最大值,就是 以str[i]为end、最长、无重复字符的子串 的开头。然后,记录长度cur,取所有cur的最大值,即为答案。

 public int lengthOfLongestSubstring(String s) {if(s==null || s.length()==0){return 0;}char[] str = s.toCharArray();int[] map=new int[256];// <char,position>for(int i=0;i<256;i++){map[i]=-1; //since 0 means the first index, we must use other meaningless values to initialize 'map'}// LSs who ends up with [i], // dp[i-1] has its corresponding optimal start whose previous index is preint pre = -1;int cur = 0;// local optint ans=cur;// global optfor(int i=0;i<str.length;i++){pre = Math.max(pre,map[str[i]]);cur = i-pre;map[str[i]]=i;ans = Math.max(ans,cur);}return ans;}

http://www.ppmy.cn/news/88942.html

相关文章

JWT(Json Web Token)的原理、渗透与防御

&#xff08;关于JWT kid安全部分后期整理完毕再进行更新~2023.05.16&#xff09; JWT的原理、渗透与防御 目录 JWT的原理、渗透与防御含义原理JWT的起源传统session认证问题token与session区别JWT的结构与内容 JWT的攻击和渗透敏感信息泄露空密钥破解密钥爆破CVE-2019-7644 J…

Spring Boot 3.x 系列【38】服务监控 | 自定义端点

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot版本3.0.5 源码地址:https://gitee.com/pearl-organization/study-spring-boot3 文章目录 1. 概述2. 自定义 Web 端点3. 控制器端点4. Servlet端点5. 扩展端点1. 概述 Spring Boot Actuator默认已提供了很多端点,…

【VR】手柄定位技术

1. 关于Quest Pro头显、控制器的规格分析&#xff08;终篇&#xff09;及Quest 3分辨率 &#xff08;2022年07月29日&#xff09;被认为是“Quest Pro”的高端一体机Project Cambria将于今年秋季正式发布。对于一直关注和分享所述设备情报的YouTuber布拉德利林奇&#xff08;B…

亚马逊云科技构建Serverless数据分析战略

亚马逊云科技Amazon EMR是行业领先的大数据分析服务&#xff0c;适用于使用开源框架进行PB级数据处理、交互分析和机器学习&#xff0c;它可以更快地运行大数据应用并且成本不到本地解决方案成本的一半。通过性能优化且兼容开源API的Spark、Hive和Presto版本&#xff0c;洞察时…

【1】安装与配置tensorflow

常见深度学习框架市场占有率 1.创建虚拟环境 打开菜单栏里的 点击creat创建 2.激活虚拟环境 打开命令提示符&#xff0c;输入activate tensorflow 可以看到进入tensorflow环境&#xff1a; 3.更换源 为提高下载速度&#xff0c;执行以下命令&#xff1a; pip config set g…

理解并掌握 Linux 系统下的文件操作命令:mv 与 cp

在 Linux 系统中&#xff0c;文件操作是开发者和管理员必须要掌握的基本技能之一。文件操作包括对文件的创建、读取、修改、删除等。其中&#xff0c;mv 和 cp 命令是常用的文件操作命令&#xff0c;但很多人在使用时常常混淆。本篇文章旨在阐述 mv 和 cp 命令的使用区别和特点…

KD7742电气安规综合测试仪

一、产品简介 KD7742电气安规综合测试仪具有交/直流耐压、绝缘电阻等项目的测试分析功能&#xff0c;能显示电压、电流和电阻的波形图以及趋势图&#xff0c;以便更直观的监测分析绝缘性能和绝缘崩溃时的各项指标&#xff0c;适用于高要求的测试分析场合。 产品具有测试参数范围…

ORACLE表空间自动扩展

Oracle表空间扩展 查看表空间使用情况&#xff1a; SELECT a.tablespace_name, a.bytes / 1024 / 1024 sum, (a.bytes - b.bytes) / 1024 / 1024 used, b.bytes / 1024 / 1024 free, round(((a.bytes - b.bytes) / a.bytes) * 100, 2) used FROM (SELECT tablespace_name, SUM(…