【力扣打卡系列】滑动窗口与双指针(无重复字符的最长子串)

server/2024/10/24 12:16:10/

坚持按题型打卡&刷&梳理力扣算法题系列,语言为go,Day7

无重复字符的最长子串
  • 题目描述在这里插入图片描述
  • 解题思路
    • 不含重复字符——》考虑使用哈希表来存储记录
    • 为了提高效率也可以用数组,hash := [128]bool{} (因为存的是字符的ASCLL码,所以开128大小即可),布尔值用于存储当前右端点是否重复
    • 核心思想:遍历右端点,固定右端点,滑动左端点,保证左边绝对没有跟右端点重复的字符(即以右端点为准),有的话就滑动左端点去重复
    • 总的来说,右端点负责扩张长度,左端点负责控制去重,遍历完之后记录下来整个过程中最长的子串长度即可
  • 代码参考
go">func lengthOfLongestSubstring(s string) int {hash := [128]bool{}left := 0ans := 0for right,value := range s{for hash[value]{hash[s[left]] =falseleft++}hash[value] = trueans = max(ans, right-left+1)}return ans
}
  • tips(好精妙的一道题)
    • hash := [128]bool{}可以开一个类似于哈希表功能的数组,因为可以存字符的ASCLL码所以设置为128,bool值代表当前值是否有重复的情况(false代表当前没有重复的情况)
    • 更新方式为:遍历右端点,每次设置hash[value] = true,即每次遍历的时候都把右端点的值记录进去
    • 子串长度的计算公式为:right-left+1

http://www.ppmy.cn/server/134444.html

相关文章

27.7 开启一致性哈希环变更监听处理和consul-watch服务

本节重点介绍 : 开启一致性哈希环变更监听处理 这个服务的节点变更了(节点宕机、扩容)就对哈希环进行重置 consul中watch 服务中节点变化 遍历所有的service和变更chan的map,开启watch 开启一致性哈希环变更监听处理 位置 service/shard_service.go当这个服务的…

python作业02.

进制转换 #编写代码,实现十进制数据转换二进制、二进制转换十进制、十进制转换十六进制、十六进制转换十进制的代码实现 #十进制转二进制 #定一个转换函数 def decimal_to_binary(decimal):if decimal 0:return "0"binary ""while decimal &…

10_ Linux软件安装指南:RPM、YUM、源码安装

系列文章导航:01_Linux基础操作CentOS7学习笔记-CSDN博客 文章目录 1. RPM包安装2. YUM包管理器3. 源码安装 在Linux系统中,软件安装是日常管理中的一项基本任务。本文将详细介绍三种常见的软件安装方法:RPM包安装、YUM包管理器安装和源码编…

牛客周赛63

https://ac.nowcoder.com/acm/contest/91592 好数 简单的判断两位数&#xff0c;且十位等于个位 #include <bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define int long long using namespace std; using ll long long; using pii …

SIP 业务举例之 Call Forwarding - No Answer(无应答呼叫转移)

目录 1. Call Forwarding - No Answer 简介 2. RFC5359 的 Call Forwarding - No Answer 信令流程 呼转开始 呼转完成 3. Call Forwording - No Answer 过程总结 博主wx:yuanlai45_csdn 博主qq:2777137742 想要 深入学习 5GC IMS 等通信知识(加入 51学通信),或者想要 …

原型模式和建造模式的区别

原型模式&#xff08;Prototype Pattern&#xff09;和建造者模式&#xff08;Builder Pattern&#xff09;虽然都是创建型设计模式&#xff0c;但它们的应用场景和实现方式有着显著的区别。以下是二者的详细对比&#xff1a; 1. 意图和应用场景 原型模式&#xff1a; 意图&a…

【有啥问啥】智能座舱中的ADDW认证是什么?

智能座舱中的ADDW认证是什么&#xff1f; 随着汽车行业的智能化转型&#xff0c;智能座舱作为现代汽车的核心组成部分&#xff0c;正以前所未有的速度改变着我们的驾驶与乘坐体验。它不仅集成了先进的娱乐、导航和信息交互功能&#xff0c;更重要的是&#xff0c;通过一系列安…

STM32G474之“运放OPAMP和ADC”以及“ADC和DMA”问题

在使用STM32G474之“运放OPAMP和ADC”&#xff0c;或“ADC和DMA”时&#xff0c;要注意一下几个问题。如果有有标准库&#xff0c;就不会用HAL库了。不是没有吗&#xff1f;凑合用吧。 问题1、将“DAC3通道1”通过内部连接到"运放OPAMP1"&#xff0c;运放输出到引脚…