Leetcode3. 无重复字符的最长子串

news2024/11/26 11:12:07

问题描述:

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

子串

 的长度。

示例 1:

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

示例 2:

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

示例 3:

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

提示:

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

上代码,拿去即可运行:

package com.onlyqi.daydayupgo01.suanfa;

import java.util.HashSet;
import java.util.Set;

public class MaxGrill {
    public static void main(String[] args) {
        String s = "pwkkew";
        System.out.println(getMaxGrill(s));
    }

    public static Integer getMaxGrill(String str) {
        String[] strings = str.split("");
        Integer maxCount = 1;
        for (int i = 0; i < strings.length; i++) {
            Set<String> stringSet = new HashSet<>();
            stringSet.add(strings[i]);
            for (int j = i + 1; j < strings.length; j++) {
                if (!stringSet.contains(strings[j])) {
                    stringSet.add(strings[j]);
                } else {
                    maxCount = maxCount>stringSet.size()?maxCount:stringSet.size();
                    break;
                }
            }
        }
        return maxCount;
    }
}

运行结果

慢慢来才是最快的方法--天涯明月    共勉

我要刷300道算法题,第128道 。 希望自己可以坚持下去  。

 

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

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

相关文章

Ubuntu 24.04 系统上配置 Node.js 运行环境

本文我们重点介绍两种安装 Node.js 的方法。第一种方法使用 NVM (Node VersionManager)&#xff0c;这是安装和管理多个 Node.js 版本的最好和最快的方法。第二种方法使用官方包存储库在 Ubuntu 上安装 Node.js&#xff0c;一次只允许安装一个版本。 必备条件 A running Ubun…

Java学习Day52:金酬外护遭魔毒,圣显幽魂救本原(验证码补全,新增预约逻辑)

1.验证码补全 //发送验证码sendValidateCode() {/*** 1.手机号不能为空* 2.手机号符合规范* 3.发送一分钟后才可再次发送*///获取手机号let telephone this.orderInfo.telephone;//验证手机号不能空if (telephone undefined){this.$message.error("请输入手机号");…

CentOS 8在Linux虚拟机修改IP地址,出现:错误:“ens160“ 不是活动的连接。错误:未提供活动连接。

问题&#xff1a;错误&#xff1a;"ens160" 不是活动的连接。错误&#xff1a;未提供活动连接。 1.查看网络服务运行状态&#xff1a; 1)CentOS 7执行命令&#xff1a;systemctl status network 2)CentOS 8执行命令&#xff1a;systemctl status NetworkManager&a…

【深度学习基础】详解Pytorch搭建CNN卷积神经网络实现手写数字识别

MNIST 数据集,其包含70000 个2828 的手写数字的数据集,其中又分为60000 个训练样本与10000 个测试样本。 安装实验用到的包 anaconda promt 安装python包, 首先在开始界面打开prompt 进入到相应的虚拟环境中,下面的python38你自己创建的虚拟环境名称。 # 激活虚拟环境,v…

微信小程序中关闭默认的 `navigationBar`,并使用自定义的 `nav-bar` 组件

要在微信小程序中关闭默认的 navigationBar&#xff0c;并使用自定义的 nav-bar 组件&#xff0c;你可以按照以下步骤操作&#xff1a; 1. 关闭默认的 navigationBar 在你的页面的配置文件 *.json 中设置 navigationBar 为 false。你需要在页面的 JSON 配置文件中添加以下代码…

如何在Debian操作系统上安装Doker

本章教程&#xff0c;主要介绍如何在Debian 11 系统上安装Docker。主要使用一键安装Docker脚本和一键卸载脚本来完成。 一、安装Docker #!/bin/bashRED\033[0;31m GREEN\033[0;32m YELLOW\033[0;33m BLUE\033[0;34m NC\033[0mCURRENT_DIR$(cd "$(dirname "$0")…

微知-Linux内核自带的模块被压缩为ko.xz后如何恢复成不压缩版本?(xz -d xxx.ko.xz)

背景 在使用crash定位问题的时候需要使用ko使用对应的符号信息。直接用ko.xz无法正确加载。需要恢复成ko文件。本文介绍如何解压缩。 恢复步骤 在Linux系统中&#xff0c;.xz文件是一种使用LZMA2算法压缩的文件格式。要解压ko.xz文件&#xff0c;你可以使用xz命令行工具。 …

UML外卖系统报告(包含具体需求分析)

1 系统背景 随着互联网技术的快速发展&#xff0c;外卖订餐服务逐渐成为人们生活中的一部分。传统的电话订餐方式面临诸多不便和限制&#xff0c;而基于互联网的外卖订餐系统则提供了更加便捷、快速和高效的订餐服务。这种系统通过将餐厅、顾客和配送人员连接起来&#xff0c;…

职业规划:程序员的成长之路

引言 在快速发展的技术行业中&#xff0c;作为一名程序员&#xff0c;职业规划是至关重要的。从初出茅庐到成为技术专家&#xff0c;每一步都需要明确的目标和不懈的努力。 成长历程 初级阶段&#xff08;0-2年&#xff09; 学习与适应&#xff1a;刚入行时&#xff0c;主要任…

Redis 安装部署与常用命令

目录 一、关系数据库与非关系型数据库 1.1 关系型数据库 1.2 非关系型数据库 1.3关系型数据库和非关系型数据库区别 &#xff08;1&#xff09;数据存储方式不同 &#xff08;2&#xff09;扩展方式不同 &#xff08;3&#xff09;对事务性的支持不同 1.4 非关系型数据…

大数据Azkaban(二):Azkaban简单介绍

文章目录 Azkaban简单介绍 一、Azkaban特点 二、Azkaban组成结构 三、Azkaban部署模式 1、solo-server ode&#xff08;独立服务器模式&#xff09; 2、two server mode&#xff08;双服务器模式&#xff09; 3、distributed multiple-executor mode&#xff08;分布式多…

54页可编辑PPT | 大型集团企业数据治理解决方案

这份PPT是关于大型集团企业数据治理的全面解决方案&#xff0c;它详细介绍了数据治理的背景、需求、管理范围、框架、解决思路&#xff0c;以及数据治理在实际操作中的关键步骤。内容涵盖了数据架构、数据质量、数据应用等方面的问题&#xff0c;并提出了数据资产透视、智能搜索…

使用 NumPy 和 Matplotlib 实现交互式数据可视化

使用 NumPy 和 Matplotlib 实现交互式数据可视化 在数据分析中&#xff0c;交互式可视化可以更好地帮助我们探索和理解数据。虽然 Matplotlib 是静态绘图库&#xff0c;但结合一些技巧和 Matplotlib 的交互功能&#xff08;widgets、event handlers&#xff09;&#xff0c;我…

使用 Python 的 BeautifulSoup(bs4)解析复杂 HTML

使用 Python 的 BeautifulSoup&#xff08;bs4&#xff09;解析复杂 HTML&#xff1a;详解与示例 在 Web 开发和数据分析中&#xff0c;解析 HTML 是一个常见的任务&#xff0c;尤其是当你需要从网页中提取数据时。Python 提供了多个库来处理 HTML&#xff0c;其中最受欢迎的就…

C++ 整型大数运算(大整数运算)项目

C 整型大数运算项目 一、项目介绍二、项目变量成员三、项目实现构造函数加法减法乘法先计算再进位边计算边进位 除法与取模判断输入输出 四、项目源代码展示在 Big_integer.h 中&#xff1a;在 Big_integer.cpp 中&#xff1a; 五、测试准确性六、优化方向 一、项目介绍 整型大…

Character AI被起诉!14岁青少年自杀,AI陪伴何去何从

终于&#xff0c;AI在青少年心理问题方面&#xff0c;被推上了风口浪尖。 最近&#xff0c;美国佛罗里达州&#xff0c;一名14岁男孩Sewell Setzer的父母控告Character AI公司&#xff0c;声称孩子沉迷该公司的AI聊天机器人&#xff0c;最后走上了自杀的道路。 跟AI聊天还能致…

基于STM32F103的按键检测仿真

基于STM32F103的按键检测 仿真软件&#xff1a; Proteus 8.17 编程软件&#xff1a; Keil 5 仿真实现&#xff1a; 按键第一次按下LED灯亮&#xff0c;第二次按下LED灯灭&#xff0c;往复 按键检测原理&#xff1a; 按键在电路中一端接单片机的IO口&#xff0c;一端接GND&a…

高效库存管理:金蝶云星空与管易云的盘亏单对接方案

高效库存管理&#xff1a;金蝶云星空与管易云的盘亏单对接方案 金蝶云星空与管易云的盘亏单对接方案 在企业日常运营中&#xff0c;库存管理是至关重要的一环。为了实现高效、准确的库存盘点和数据同步&#xff0c;我们采用了轻易云数据集成平台&#xff0c;将金蝶云星空的数据…

JavaWeb合集20-定时任务框架SpringTask

二十、Spring Task 定时任务框架&#xff1a;Spring Task是Spring框架提供的任务调度工具&#xff0c;可以按照约定的时间自动执行某个代码逻辑。 1、Spring Task cron 表达式 cron表达式在线生成器: https://cron.qqe2.com/ cron表达式其实就是一个字符串&#xff0c;通过cron…

极值点与拐点 专题小结

基础知识点 极值点与拐点的知识点 极值点相关概念了解 拐点相关概念了解极值点定义了解 二次函数求根公式理解 1、两个交点的解 2、单个交点的解 3、无交点的情况 含参数的函数 含参二次函数与x轴交点个数影响正负性变化&#xff0c;从而达成条件是否有极值点和拐点。 多重…