【剑指offer】面试题48. 最长不含重复字符的子字符串(java)

请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。

 

示例 1:

输入: "abcabcbb"
输出: 3 
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
示例 2:

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

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

提示:

s.length <= 40000

代码:

class Solution {

    public int lengthOfLongestSubstring(String s) {

        Set<Character> set = new HashSet<>();

        int left = 0, right = 0, max = 0;

        while(right < s.length()) {

            while(set.contains(s.charAt(right))) {

                set.remove(s.charAt(left));

                left++;

            }

            set.add(s.charAt(right));

            right++;

            max = Math.max(right - left, max);

        }

        return max;

    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485277.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IPMITool driver

IPMITool driver 官网链接&#xff1a; https://docs.openstack.org/ironic/latest/admin/drivers/ipmitool.html IPMITool driver 概述IPMI(Intelligent Platform Management Interface) drivers通过IPMI协议2.0或1.5来管理节点。使用IPMITool工具来控制使能的IPMI设备&#x…

如何理解在数据类型中元素不能修改?

如何理解在数据类型中元素不能修改&#xff1f; 我所理解的元素修改是&#xff1a; 不能对已经赋值或者初始化的数据类型进行元素的修改&#xff0c;这里的修改不是指片面意思上的输错了数值&#xff0c;将光标移到对应位置&#xff0c;按下删除键&#xff0c;再进行数据的修改…

打破 Google 破坏性的搜索垄断

作者&#xff1a;Ryan Cooper译者&#xff1a;Sambodhi策划&#xff1a;刘燕近来&#xff0c;Google 在搜索算法方面的垄断地位&#xff0c;频繁引起美国和欧洲的反垄断关注。Google 在网络搜索方面有绝对的优势。近来&#xff0c;Google 在搜索算法方面的垄断地位&#xff0c;…

【剑指offer】面试题49:丑数

我们把只包含因子 2、3 和 5 的数称作丑数&#xff08;Ugly Number&#xff09;。求按从小到大的顺序的第 n 个丑数。 示例: 输入: n 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。 说明: 1 是丑数。 n 不超过1690。 代码&#xff1a; class Solu…

修改maven打包名字

仅需在pom.xml添加下列配置 build><finalName>userapi</finalName></build>转载于:https://www.cnblogs.com/zhao-shan/p/9520010.html

计算机网络——时延、时延带宽积、往返时间、利用率

计算机网络——时延、时延带宽积、往返时间、利用率 推荐课程&#xff1a;https://www.bilibili.com/video/BV19E411D78Q/?p4 1.时延 时延&#xff08;delay或latency&#xff09;是指数据&#xff08;报文、分组、比特&#xff09;从网络&#xff08;或链路&#xff09;的…

一文读懂虚拟现实产业最新发展趋势

来源&#xff1a; 中国电子报作者&#xff1a;赛迪智库虚拟现实产业形势分析课题组2020年以来&#xff0c;5G商用化进程的加速和新冠肺炎疫情背景下“非接触式”经济的新需求为虚拟现实产业发展带来了新的机遇。虚拟现实、增强现实技术在支撑服务疫情防控、加快企业复工复产、强…

【剑指offer】面试题50:第一个只出现一次的字符(java)

在字符串 s 中找出第一个只出现一次的字符。如果没有&#xff0c;返回一个单空格。 示例: s "abaccdeff" 返回 "b" s "" 返回 " " 限制&#xff1a; 0 < s 的长度 < 50000 代码&#xff1a; class Solution { publi…

log4net日志文件的应用

日志作为快速定位程序问题的主要手段&#xff0c;日志几乎是所有程序都必须拥有的一部分&#xff0c;下面我们就看下怎么使用log4net.dll文件&#xff1a; 1.下载log4net.dll文件 2.创建自己的项目 3.在自己项目下的引用log4net.dll文件 4.在app.config配置文件里添加配置信息&…

CSMA/CD协议分析笔记

CSMA/CD协议分析笔记 CSMA/CD(carrier sense multiple access with collision detection) 文章目录CSMA/CD协议分析笔记前言一、解读CS MA / CDCS——“载波监听”MA——“多点接入”CD——“碰撞(冲突)检测”二、传播时延对载波监听的影响为什么先听后发还是会产生冲突&#…

【剑指offer】面试题52:两个链表的第一个公共节点(java)

输入两个链表&#xff0c;找出它们的第一个公共节点。 如下面的两个链表&#xff1a; 在节点 c1 开始相交。 示例 1&#xff1a; 输入&#xff1a;intersectVal 8, listA [4,1,8,4,5], listB [5,0,1,8,4,5], skipA 2, skipB 3 输出&#xff1a;Reference of the node wit…

城市大脑全球标准研究1:城市大脑产生的时代背景是什么?

来源&#xff1a;城市大脑全球标准研究组20世纪10年代以来&#xff0c;IT科技领域出现了很多“大脑”“神经系统”概念&#xff0c;如互联网大脑、谷歌大脑、百度大脑、360安全大脑、华为城市神经系统等等&#xff0c;城市大脑是其中一个。这是一个有趣的现象&#xff0c;为什么…

【剑指offer】面试题53 - 1:在排序数组中查找数字 I(java)

统计一个数字在排序数组中出现的次数。 示例 1: 输入: nums [5,7,7,8,8,10], target 8 输出: 2 示例 2: 输入: nums [5,7,7,8,8,10], target 6 输出: 0 限制&#xff1a; 0 < 数组长度 < 50000 代码&#xff1a; class Solution { public int search(int[] nu…

JavaWeb中实现页面跳转的方法

JavaWeb中实现页面跳转的方法 在src中新建Servlet文件&#xff0c;重写doPost()、doGet()方法&#xff0c;可以使用请求转发、重定向或者使用out内置对象编写HTML代码&#xff0c;从而实现页面跳转 ———————————————————————— 一、利用Servlet—————…

Catalan数总结

参考维基百科 Catalan数详解 这里只是把常见的公式搬过来 设Catalan数的第n项为 hnhn&#xff0c;定义 h0h11h0h11 则有如下两个常用递推式 hnh0hn−1h1hn−2...hn−1h0,n>2hnh0hn−1h1hn−2...hn−1h0,n>2hn4n−2n1hn−1,n>1hn4n−2n1hn−1,n>1通项公式为 hnCn2n…

李书福:对未来世界及汽车发展的六个洞见(附万字内部讲话全文)

来源&#xff1a;东西智库2月20日&#xff0c;一直被外界誉为缔造汽车行业传奇的吉利控股集团董事长李书福以“守正出奇 实事求是”为主题在集团内部进行了分享交流&#xff0c;在这场万字内部分享中&#xff0c;李书福从国内国际双循环之机遇和挑战&#xff0c;企业治理能力、…

JSP的“三指六动九内”

JavaWeb——JSP的“三指六动九内” JSP的基本使用 1. JSP模板元素 网页的静态内容。如html标签 JSP脚本 2. JSP的脚本 2.1、小脚本<% Java代码%> 2.2、表达式<% 11%>&#xff0c;等价于out.print(11) 2.3、声明<%! 声明变量和方法%> 3. JSP注释 JSP注释…

【剑指offer】面试题53 - II:0~n-1中缺失的数字(java)

一个长度为n-1的递增排序数组中的所有数字都是唯一的&#xff0c;并且每个数字都在范围0&#xff5e;n-1之内。在范围0&#xff5e;n-1内的n个数字中有且只有一个数字不在该数组中&#xff0c;请找出这个数字。 示例 1: 输入: [0,1,3] 输出: 2 示例 2: 输入: [0,1,2,3,4,5,6,…

Dcloud+mui 压缩上传图片到服务器

chooseImgFromAlbums选择图片chooseImgFromPictures 拍照changeToLocalUrl 转换成可用的路径uploadpic.compressImg 压缩图片uploadpic.avatar 上传图片到oss服务器/*** 上传图片*/function UPLOADPIC() {//上传图片this.avatar function(compressurl) {bzpcommon.showLoading…

基于IPP-FFT的线性调频Z(Chirp-Z,CZT)的C++类库封装并导出为dll(固定接口支持更新)

上一篇分析了三种不同导出C++类方法的优缺点,同时也讲了如何基于IPP库将FFT函数封装为C++类库,并导出为支持更新的dll库供他人调用。 在此基础上,结合前面的CZT的原理及代码实现,可以很容易将CZT变换也封装为C++类库并导出为dll,关于CZT的原理和实现,如有问题请参考: …