Leetcode每日刷题之3.无重复字符的最长子串(C++)

news2024/9/20 22:58:08

1.题目解析

本题的目标是在给定的字符串中找出不含有重复字符的最长子串,并且返回其长度,这道题核心就是如何去重并且不能遗漏以保证子串长度最长,题目来源:3.无重复字符的最长子串

 

2.算法原理

本题的算法原理主要是"滑动窗口"也就是"同向双指针",即使用两个指针来模拟窗口,指针的移动代表窗口的移动与收缩,在这道题中首先使用左指针指向一个字符,右指针不断向后遍历,创建哈希表存储字符出现的次数,当出现次数超过1则代表出现了重复字符,这时就要将重复字符移出哈希表,也就是左指针不断右移并且使经过的字符在哈希表中去除直到将重复字符移出窗口视角,此时更新符合条件的子串长度即可

3.代码展示

class Solution {
public:
    int lengthOfLongestSubstring(string s) 
    {
        int hash[128] = { 0 };
        int n = s.size();
        int left = 0,right = 0;
        int len = 0;
        while(right < n)
        {
            hash[s[right]]++;//进窗口
            while(hash[s[right]] != 1)
            {
                hash[s[left++]]--;//移出重复元素
            }
            len = max(len,right - left + 1);//更新长度
            right++;//继续遍历
        }
        return len;
    }
};

 

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

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

相关文章

做数据采集,你真的了解PLC插槽号吗?

有很多PLC可以在系统里配置多个独立CPU&#xff0c;各自有自己的任务。也有一些PLC&#xff0c;虽然只有一个CPU&#xff0c;但是&#xff0c;其位置是可变的。外部进行数据采集时&#xff0c;首先要搞明白采集目标是哪个CPU&#xff0c;否则&#xff0c;就会张冠李戴&#xff…

[大模型]Milvus Lite安装

文章目录 前提相关链接官方网站中文网站 创建虚拟环境安装Milvus连接Milvusattu连接工具attu官方开源地址下载地址连接 Milvus 是一款开源的向量数据库&#xff0c;它主要特点是高可用、高性能和易扩展&#xff0c;主要用于处理海量向量数据的实时召回。它基于诸如 FAISS、Anno…

nginx和tomcat负载均衡,动静分离

文章目录 一&#xff0c;tomcat1.tomca用途2.tomcat重要目录 二&#xff0c;nginx1.Nginx应用2.nginx作用3.nginx的正向代理和反向代理3.1正向代理3.2反向代理(单级)3.3反向代理(多级) 4.nginx负载均衡4.1Nginx支持的常见的分流算法1. 轮询(Round Robin):2.最少连接数(LeastCon…

【日记】黑神话的优化感觉有些微妙(1188 字)

正文 今天省分行一把手来我们县里。很奇怪。一整天都在为迎接他做准备。中午也没有什么午休&#xff0c;全员到工位上值班值守。 就算如此我还是抽了一点所剩无几的时间&#xff0c;体验了一下黑神话。 上午 10 点钟&#xff0c;远程控制电脑开始解压昨天的预载。大概解压了一个…

120KW可编程液冷负载优势和特点

120KW可编程液冷负载是一种先进的电力设备&#xff0c;它采用液冷技术进行冷却&#xff0c;具有高效、稳定、安全等特点。以下是其优势和特点的详细介绍&#xff1a; 1. 高效冷却&#xff1a;液冷负载采用液冷技术进行冷却&#xff0c;能够更有效地将热量传导出去&#xff0c;提…

基于vue3的模拟数据mock.js应用

一、mock.js介绍 Mock.js 是一个用于生成随机数据&#xff0c;拦截 Ajax 请求的 JavaScript 库。它主要用于前后端分离开发时&#xff0c;模拟后端数据接口&#xff0c;使得前端开发者在不需要后端实际编写接口的情况下&#xff0c;也能进行开发、测试。 1、主要功能 生成随…

统一认证及单点登录(SSO)技术探讨

在当今复杂的企业环境中&#xff0c;用户身份管理和访问控制变得越来越重要。随着企业应用系统的增多&#xff0c;如何高效地管理用户身份和简化用户登录流程成为了一个亟待解决的问题。统一认证和单点登录&#xff08;SSO&#xff09;技术应运而生&#xff0c;为企业提供了一种…

泊松自助法(Poisson Bootstrap Sampling):大型数据集上的自助抽样

自助抽样可以根据收集的样本推断总体的统计特征(如均值、十分位数、置信区间)。泊松自助抽样&#xff08;Poisson Bootstrap Sampling&#xff09;是一种用于统计分析中的重采样技术&#xff0c;特别是在机器学习和数据科学中用于模型评估和误差估计。这种方法的一个特点是保留…

【深度学习】使用VScode远程服务器GPU进行训练

使用VScode远程服务器GPU进行训练 参考文献1、使用vscode远程服务器2、使用mobaxterm传输文件 参考文献 参考b站视频远程连接服务器用GPU跑深度学习项目&#xff0c;小白教学。 1、使用vscode远程服务器 打开vscode&#xff0c;在插件管理处安装插件Remote Development&#…

ASM实例的SPILE 存储在ASM的磁盘组上时,集群要如何去获取SPFILE并启动ASM实例?(1)

从11g R2 开始&#xff0c;ASM spfile 会自动存储在安装集群软件时创建的第一个磁盘组中&#xff0c;一般为OCR磁盘组。由于投票盘/OCR 存储在 ASM 上&#xff0c;因此需要在节点上启动 ASM。要启动 ASM&#xff0c;需要其 SPFILE 。但 SPFILE 仅位于 ASM 磁盘组上。集群是如何…

融合创新趋势:Web3时代的跨界融合

随着互联网技术的飞速发展&#xff0c;Web3时代的到来正引领着一场深刻的技术与社会变革。Web3&#xff0c;作为下一代互联网技术的代表&#xff0c;不仅仅是一种技术创新&#xff0c;更是一种跨界融合的趋势。通过去中心化、智能合约和区块链技术的应用&#xff0c;Web3正在重…

大模型心高气傲,没有AI Agents生死难料

前言 AI Agent&#xff0c;正在接棒大语言模型LLM&#xff0c;成为AI圈最火的话题。 目前&#xff0c;AI创投圈的众生相&#xff0c;大概是这样的&#xff1a; 大厂俱乐部&#xff1a;OpenAI内部员工声称&#xff0c;AI Agent是OpenAI的新方向&#xff1b;微软尝试推动copil…

解锁高效办公新姿势:SSO单点登录+企业网盘完美搭配

在现代互联网环境中&#xff0c;随着企业业务的不断扩展&#xff0c;多系统、多应用的集成成为常态。为了提升用户体验&#xff0c;减少用户在不同系统间切换的繁琐&#xff0c;单点登录&#xff08;SSO, Single Sign-On&#xff09;技术应运而生。 本文将详细介绍SSO单点登录的…

NRK3301语音识别芯片在头戴式照明灯上的应用的方案

在现代社会&#xff0c;头戴式照明灯在各个领域发挥着重要作用&#xff0c;如户外探险、工业作业、夜间骑行等。为了提高这类产品的便捷性和安全性&#xff0c;我们采用了NRK3301语音识别芯片&#xff0c;并将其应用于头戴式照明灯中。这一创新应用使用户能够通过语音指令控制灯…

Browserless 网页抓取:在 Selenium 中使用 NodeJs

Selenium 是否有效&#xff1f; Selenium 是一个流行的开源网页自动化框架&#xff0c;主要用于浏览器测试自动化。此外&#xff0c;它也可以用来解决动态网页抓取问题。 Selenium 有三个主要组件&#xff1a; Selenium IDE&#xff1a;一个浏览器插件&#xff0c;提供了一种…

「JVS更新日志」逻辑引擎、智能BI、规则引擎8.20功能更新说明

项目介绍 JVS是企业级数字化服务构建的基础脚手架&#xff0c;主要解决企业信息化项目交付难、实施效率低、开发成本高的问题&#xff0c;采用微服务配置化的方式&#xff0c;提供了 低代码数据分析物联网的核心能力产品&#xff0c;并构建了协同办公、企业常用的管理工具等&am…

单域名SSL证书申请三步法

申请单域名SSL证书&#xff0c;确保您的网站安全可信&#xff0c;只需简单三步&#xff1a; 选择证书类型与提供商&#xff1a;首先&#xff0c;确定您需要的单域名SSL证书类型&#xff0c;如DV&#xff08;域名验证&#xff09;证书。接着&#xff0c;选择一个信誉良好的证书提…

笔记-系统规划与管理师-案例题-2022年-服务规划设计

【说明】 某跨国公司新聘小唐为系统规划管理师来帮助提升中国区总部的IT服务水平&#xff0c;中国区的IT系统尚在设计阶段&#xff0c;小唐需根据已经识别的服务需求及设定的服务级别&#xff0c;进行资源配置&#xff0c;以确保服务团队满足与业务团队约定的当前及未来的IT服务…

Grafana指标汉化攻略:轻松实现中文可视化

1、Grafana解压 目录&#xff08;grafana-v11.1.3&#xff09; 进入到\conf 2、找到&#xff1a;defaults.ini 3、打开defaults.ini &#xff0c;搜索&#xff1a;en-US 4、注释掉default_language en-US # Default UI language (supported IETF language tag, such as en…

吐血整理,最全论文指令手册,还有 ChatGPT 3.5/4.0 新手使用手册~ 【亲测好用】

今天给大家分享下论文润色、降重、写作的GPT指令提示词&#xff0c;按论文步骤整理 让你的文章更加有逻辑且通顺&#xff0c;助力快速完成论文&#xff0c;相信对你有帮助~ 一、论文写作润色指令 1、写作选题指令 ① 确定研究对象 我是一名【XXXXX】&#xff0c;请从以下素…