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

一道笔试题 - 无重复字符的最长子串

老生常谈的一道题,常见并

文章目录

    • 描述
    • 预期结果
    • Java代码

描述

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

预期结果

在这里插入图片描述

Java代码


import java.util.HashSet;
import java.util.Set;public class Demo2 {public static void main(String[] args) {int abc1231acv = Solution.LengthOfLongestSubstring("abc1231acv");System.out.println(abc1231acv);}
}class Solution {public static int LengthOfLongestSubstring(String s) {// 哈希集合,记录每个字符是否出现过Set<Character> occ = new HashSet<Character>();int n = s.length();// 右指针,初始值为 -1,相当于我们在字符串的左边界的左侧,还没有开始移动int rk = -1, ans = 0;for (int i = 0; i < n; ++i) {if (i != 0) {// 左指针向右移动一格,移除一个字符occ.remove(s.charAt(i - 1));}while (rk + 1 < n && !occ.contains(s.charAt(rk + 1))) {// 不断地移动右指针occ.add(s.charAt(rk + 1));++rk;}// 第 i 到 rk 个字符是一个极长的无重复字符子串ans = Math.max(ans, rk - i + 1);}return ans;}
}

在这里插入图片描述

相关文章:

一道笔试题 - 无重复字符的最长子串

老生常谈的一道题&#xff0c;常见并 文章目录 描述预期结果Java代码 描述 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的最长子串的长度。 预期结果 Java代码 import java.util.HashSet; import java.util.Set;public class Demo2 {public static void main(S…...

C#反射的NullReferenceException

背景 xml文件中有些元素的属性被删除&#xff0c;导致文件无法被读取&#xff08;C#&#xff09;。 调试之后发现&#xff0c;因为属性被删除&#xff0c;读进来会保持默认值null&#xff0c;在后续的反射中如果用这个null给字符串属性赋值&#xff0c;会抛异常。 另外发现前面…...

100道C/C++面试题

1. static的作用2. 引用与指针的区别3. .h头文件中的ifndef/define/endif 的作用4 #include<file.h>与#include"file.h"的区别?5 描述实时系统的基本特性6 全局变量和局部变量在内存中是否有区别?如果有&#xff0c;是什么区别?7 什么是平衡二叉树?8 堆栈溢…...

Python(模块)

模块编写完成就可以被其他模块进行调用并使用被调用模块的功能。 import导入方式的语法结构&#xff1a; import模块名称【as别名】 from……import导入方式的语法结构&#xff1a; from模块名称&#xff0c;import变量/函数/类/*&#xff08;*是通配符&#xff09; impor…...

【八股文】Java基础篇

1. 和 equals的区别是什么&#xff1f; 判断两个变量或者实例是否都指向同一内存空间的值&#xff08;不仅值相同&#xff0c;地址也要相同&#xff09;equals是判断两个变量执行的内存空间的值是否相同&#xff08;值相同&#xff0c;地址可以不同&#xff09;&#xff0c;所…...

python rsa如何安装

Python中的一些模块是用一个包管理器来发布的&#xff0c;RSA模块就是&#xff0c;所以首先需要安装setup tools工具。 1、下载文件&#xff1a;ez_setup.py 2、安装&#xff1a; sudo python ez_setup.py 3、下载RSA安装包&#xff1a;rsa-3.1.1-py2.7.egg 4、安装RSA&…...

P10289 [GESP样题 八级] 小杨的旅游

Description 给定一棵 n n n 个点的树&#xff0c;每条边权值均为 1 1 1&#xff0c;树上有 k k k 个关键点&#xff0c;关键点们在 0 0 0 的时间内相互可达&#xff0c; q q q 次询问&#xff0c;求 s → t s\to t s→t 的最短路。 Analysis 考虑暴力建图&#xff0c;…...

网络编程 ----------- 4、组播与广播

1、广播 broadcast 广播是指向同一个网络中所有的主机传输数据只有传输层协议为 UDP协议时&#xff0c;才支持广播 TCP是端对端&#xff0c;广播是一对多 &#xff0c;所以无法符合其要求。 1&#xff09;广播地址 广播地址的计算&#xff1a; 子网掩码…...

最短路径算法:Bellman-Ford算法

引言 在图论中&#xff0c;Bellman-Ford算法是一种用于计算单源最短路径的算法。与Dijkstra算法不同&#xff0c;Bellman-Ford算法可以处理带有负权边的图&#xff0c;并且可以检测图中是否存在负权环。本文将详细介绍Bellman-Ford算法的定义、步骤及其实现。 Bellman-Ford算…...

爬虫:xpath模块及昵图网实例

xpath模块 from lxml import etreestr1 """ <div><ul><li class"item-0"><a href"link1.html">first item</a></li><li class"item-1"><a href"link2.html">second…...

高级java每日一道面试题-2024年8月03日-web篇-forward和redirect有什么区别?

如果有遗漏,评论区告诉我进行补充 面试官: forward和redirect有什么区别? 我回答: 在Java Web开发中&#xff0c;forward和redirect是Servlet容器提供的两种用于页面跳转的技术。它们的主要区别在于客户端感知的方式、URL地址的变化、请求对象的共享等方面。下面详细介绍两…...

如何让你的网站拥有更好的体验

在HTML中&#xff0c;属性是用于提供关于HTML元素的额外信息。接下来我们将讲解13个可以让用户拥有更好体验的HTML属性。 Accept 属性 我们可以在<input>元素&#xff08;仅适用于文件类型&#xff09;中使用accept属性来指定服务器可以接受的文件类型。 <input ty…...

opencascade AIS_TypeFilter AIS_XRTrackedDevice源码学习

opencascade AIS_TypeFilter 前言 通过它们的类型选择交互对象。该过滤器会对本地上下文中的每个交互对象提出问题&#xff0c; 以确定它是否具有非空的所有者&#xff0c;并且如果是&#xff0c;则检查它是否是所需类型。 如果对象在每种情况下都返回 true&#xff0c;则保留…...

使用Spring AOP监控指定方法执行时间

文章目录 一、加入pom依赖二、切面类和注解三、执行方法 一、加入pom依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency>二、切面类和注解 import java.lang.…...

最新CSS3纵向菜单的实现

纵向菜单 通过下面例子&#xff0c;你会知道把列表转换成菜单的关键技术 a中的#是URL的占位符可以点击&#xff0c;真正用途中写实际URL <nav class"list1"><ul><li><a href"#">Alternative</a></li><li><…...

GooLeNet模型搭建

一、model import torch from torch import nn from torchsummary import summaryclass Inception(nn.Module):def __init__(self, in_channels, c1, c2 , c3 , c4):super(Inception, self).__init__()self.ReLU nn.ReLU()#路线1:1x1卷积self.p1_1 nn.Conv2d(in_channels i…...

使用ThreadLocal来存取单线程内的数据

一.什么是ThreadLocal&#xff1f; ThreadLocal&#xff0c;即线程本地变量。如果你创建了一个 ThreadLocal变量&#xff0c;那么访问这个变量的每个线程都会有这个变量的一个本地拷贝&#xff0c;多个线程操作这个变量的时候&#xff0c;实际是在操作自己本地内存里面的变量&…...

elasticsearch教程

1. 单点部署(rpm): #提前关闭firewalld,否则无法组建集群 #1. 下载ES rpm包 ]# https://www.elastic.co/cn/downloads #2. 安装es ]# rpm -ivh elasticsearch-7.17.5-x86_64.rpm #3. 调整内核参数(太低的话es会启动报错) echo "vm.max_map_count655360 fs.file-max 655…...

Arrays、Lambda表达式、Collection集合

1. Arrays 1.1 操作数组的工具类 方法名说明public static String toString(数组)把数组拼接成一个字符串public static int binarySearch(数组,查找的元素)二分查找法查找元素public static int[] copyOf(原数组,新数组长度)拷贝数组public static int[] copyOfRange(原数组…...

2024年前端趋势:全栈或许是不容错过的选择!

近年来&#xff0c;前端开发的技术不断推陈出新&#xff0c;2024年也不例外。在这个变化迅速的领域&#xff0c;全栈开发逐渐成为一股不容忽视的趋势。无论你是经验丰富的开发者&#xff0c;还是刚刚入门的新手&#xff0c;掌握全栈技术都能让你在竞争中脱颖而出。而在这个过程…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下&#xff1a; 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载&#xff0c;下载地址&#xff1a;https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...

华为OD机试-最短木板长度-二分法(A卷,100分)

此题是一个最大化最小值的典型例题&#xff0c; 因为搜索范围是有界的&#xff0c;上界最大木板长度补充的全部木料长度&#xff0c;下界最小木板长度&#xff1b; 即left0,right10^6; 我们可以设置一个候选值x(mid)&#xff0c;将木板的长度全部都补充到x&#xff0c;如果成功…...

mac:大模型系列测试

0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何&#xff0c;是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试&#xff0c;是可以跑通文章里面的代码。训练速度也是很快的。 注意…...

JDK 17 序列化是怎么回事

如何序列化&#xff1f;其实很简单&#xff0c;就是根据每个类型&#xff0c;用工厂类调用。逐个完成。 没什么漂亮的代码&#xff0c;只有有效、稳定的代码。 代码中调用toJson toJson 代码 mapper.writeValueAsString ObjectMapper DefaultSerializerProvider 一堆实…...