当前位置: 首页 > news >正文

第3题 无重复字符的最长子串

题目

给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。

示例 1:

输入: s = "abcabcbb"
输出: 3 
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。注意 "bca" 和 "cab" 也是正确答案。

示例 2:

输入: s = "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。

示例 3:

输入: s = "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。

提示:

  • 0 <= s.length <= 5 * 104
  • s 由英文字母、数字、符号和空格组成

思路

双指针思想,快指针遍历,判断字符中是否有重复来控制慢指针移动

使用list集合的前后端当作慢指针和快指针,因为list集合可以直接判断集合中是否有重复

创建一个list集合,因为list集合有序

        直接对比字符是否存在

        (这里使用while循环,因为有可能第一个字符不是重复字符,重复字符在字符串中间)

                如果存在,直接去除列表中的第一个数据

        最后再加上当前字符保证list集合中无重复字符

每次统计list集合的长度就可以统计出最大的长度

代码示例

import java.util.*;
public class lc3 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);String str = scan.nextLine();lc3 lc = new lc3();int res = lc.lengthOfLongestSubstring(str);System.out.println(res);}public int lengthOfLongestSubstring(String s) {//转化为字符数组,更容易操作char[] chars = s.toCharArray();//使用list集合的前后端当作慢指针和快指针,因为list集合可以直接判断集合中是否有重复List<Character> list = new ArrayList<>();int max = 0;//快指针遍历添加数据for (int i = 0; i < chars.length; i++) {//慢指针剔除数据while(list.contains(chars[i])) {list.remove(0);}//剔除完数据添加快指针的数据list.add(chars[i]);//直接使用list集合长度统计无重复字符串的长度max = Math.max(max, list.size());}return max;}
}

http://www.dtcms.com/a/529706.html

相关文章:

  • 免费网站的软件公众号推广方案
  • 陶然亭网站建设南充房产网最新楼盘
  • 建站教程的特点动漫建模代做网站百度一下
  • Java 大视界 -- Java 大数据在智慧养老服务需求分析与个性化服务匹配中的应用
  • 个人网站设计成首页怎么更新网站备案资料
  • 基于langchain,通过RAG实现问答式定制化回复
  • 网站建设视频vswindows 建网站
  • access 网站内容管理系统 哪个好 下载aspnet网站开发实例论文
  • 男生可以做网站编辑工作吗上海工程招标网招标公告
  • Eclipse RCP企业级应用实践(二)
  • 网站建设模板代理万网app下载
  • 本专栏简介
  • 上国外网站的dns有哪些做兼职的设计网站有哪些
  • AI出题人给出的Java后端面经(二十伍)(不定更)
  • wordpress将公网ip改为域名北京丰台网站优化
  • 网站后台数据库设计软件设计开发流程图
  • 网站100m空间视觉设计师和平面设计师的区别
  • 帮建网站电子商务网站建设的步骤一般为(
  • 网站管理助手 伪静态微商城平台哪个好
  • 傻瓜式建站平台简单电子商务网站开发
  • 【DINOv3】(2)下载DINOv3项目和预训练模型
  • 做电商网站有什语言好小票在线生成小程序
  • 如何从Windows 操作系统登录Linux(Ubuntu)操作系统
  • 网站服务类型怎么选做网站用语言
  • 美工做图素材网站wordpress网页如何公开
  • 空包网站怎么做深圳建设网站公司排名
  • 凡科网做网站怎样网站建设流程有
  • 超过6个数据集的韦恩图(veen plot)绘制
  • Trae和国外某些AI的对比,以及开发应该对codeAI理解
  • Compose 中的 Modifiers 使用