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

滑动窗口-无重复字符的最长子串

无重复字符的最长子串

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

输入:字符串
输出:整型变量
思路:两个指针一前一后,最开始都在0位置,然后有值则快指针向右移动一位,判断是否存在过

class Solution {
    public int lengthOfLongestSubstring(String s) {
        int n = s.length(), ans = 0;
        Map<Character, Integer> map = new HashMap<>();
        for (int end = 0, start = 0; end < n; end++) {
            char alpha = s.charAt(end);
            if (map.containsKey(alpha)) {
                start = Math.max(map.get(alpha), start);
            }
            ans = Math.max(ans, end - start + 1);
            map.put(s.charAt(end), end + 1);
        }
        return ans;
    }
}


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

相关文章:

  • Jenkinsdebug:遇到ERROR: unable to select packages:怎么处理
  • 小爱音箱连接电脑外放之后,浏览器网页视频暂停播放后,音箱整体没声音问题解决
  • 笔试-果园施肥
  • LeetCode 热题 100_单词搜索(60_79_中等_C++)(深度优先搜索(回溯))(初始化二维vector的大小)
  • zotero翻译文献每行开头有奇怪数字
  • 数组和对象深浅拷贝
  • JSP(学习自用)
  • 【火星】火星 数字地面模型(DEM)数字正射影像(DOM)下载
  • 【动手学轨迹预测】3.1 基于锚点的轨迹预测
  • Web后端 Tomcat服务器
  • Java零基础入门笔记:(1-2)入门(简介、基础知识)
  • AI前端开发与职业稳定性:ScriptEcho赋能下的未来展望
  • 【动态规划篇】:动态规划中的“双线叙述”--如何用状态转移解决双序列难题
  • Dify平台搭建面试机器人
  • [qt5学习笔记]Application Example示例程序源码解析
  • 【Java】 -- 顺序表的使用模拟实现
  • 如何选择合适的超参数来训练Bert和TextCNN模型?
  • Redis 深度解析:从基础到实践
  • 3D与2D机器视觉机械臂引导的区别
  • CMS DTcms 靶场(弱口令、文件上传、tasklist提权、开启远程桌面3389、gotohttp远程登录控制)
  • 深入探索 C++17 中的 std::hypot:从二维到三维的欧几里得距离计算
  • 日志2025.2.17
  • Prolog语言的Web开发
  • 计算机专业知识【原码、反码和补码的计算方法详解】
  • 拯救者电脑在重装系统之后电源计划丢失Fn+Q切换不了模式怎么恢复?
  • 微服务SpringCloudAlibaba组件sentinel教程【详解sentinel的使用以及流量控制、熔断降级、热点参数限流等,附有示例+代码】
  • 算法【贪心经典题目专题3】
  • 深度强化学习实践 Maxim Lapan 章节9:加速强化学习的方法
  • JavaScript数组-数组的概念
  • 用Python实现图像风格迁移的技术分析