算法题——给定一个字符串 s ,请你找出其中不含有重复字符的最长子串 的长度
给定一个字符串 s ,请你找出其中不含有重复字符的最长子串 的长度
示例 1:
输入: s = “abcabcbb”
输出: 3
解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。
示例 2:
输入: s = “bbbbb”
输出: 1
解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。
示例 3:
输入: s = “pwwkew”
输出: 3
解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。
请注意,你的答案必须是子串的长度,“pwke” 是一个子序列,不是子串。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/longest-substring-without-repeating-characters
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
采用滑动窗口法
分析:
'''
i=0
j=0
max=0abcabcbb
ij{a:1b:1
}max=
return max'''
代码实现
class Solution(object):def lengthLongest(self, s):# 定义左右指针left = 0right = 0# 定义最大值max = 0# 定义字典,存储当前字符串window = dict()# 当右指针滑到头时,结束循环while right < len(s):# right指向的字符串位置current_char = s[right] # 第一次:a# .setdefault()# 如果键不存在字典中,将会添加键并将值设为默认值0window.setdefault(current_char, 0)window[current_char] += 1 # 相当于把a定义成1# 往后走1位right += 1# 窗口中有重复的字符串时缩小窗口while window[current_char] > 1:left_char = s[left]# i往右移动1位left += 1# 更新字典中current_char的数量window[left_char] -= 1# 临时获取字符串的长度window_size = right - leftif window_size > max:max = window_sizereturn maxs = "pwwkew"solution = Solution()
res = solution.lengthLongest(s)
print(res)
相关文章:
算法题——给定一个字符串 s ,请你找出其中不含有重复字符的最长子串 的长度
给定一个字符串 s ,请你找出其中不含有重复字符的最长子串 的长度 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: s “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”&am…...
机器学习中的数学原理——F值与交叉验证
通过这篇博客,你将清晰的明白什么是F值、交叉验证。这个专栏名为白话机器学习中数学学习笔记,主要是用来分享一下我在 机器学习中的学习笔记及一些感悟,也希望对你的学习有帮助哦!感兴趣的小伙伴欢迎私信或者评论区留言࿰…...
vue.js介绍
个人名片: 😊作者简介:一名大一在校生,web前端开发专业 🤡 个人主页:python学不会123 🐼座右铭:懒惰受到的惩罚不仅仅是自己的失败,还有别人的成功。 🎅**学习…...
【设计模式】1、设计模式七大原则
目录一、单一职责二、接口隔离三、依赖倒置(倒转)四、里氏替换五、迪米特法则(Law of Demeter)六、开闭七、合成复用一、单一职责 类(或方法)功能的专一性。一个类(或方法)不应该承担…...
【前端老赵的CSS简明教程】10-1 CSS预处理器和使用方法
大家好,欢迎来到本期前端课程。我是前端老赵,今天的课程将讲解CSS预处理器的概念和使用方法,希望能够帮助大家更好地进行前端开发。 CSS预处理器是什么? CSS预处理器是一种将类似CSS的语言转换为CSS的工具。它们提供了许多额外的功能,如变量、嵌套、混入、函数等等。这些…...
BFC详解
1. 引言 在前端的布局手段中,一直有这么一个知识点,很多前端开发者都知道有它的存在,但是很多人也仅仅是知道它的存在而已,对它的作用也只是将将说得出来,可是却没办法说得非常的清晰。这个知识点,就是BFC…...
C++:哈希结构(内含unordered_set和unordered_map实现)
unordered系列关联式容器 在C98中,STL提供了底层为红黑树结构的一系列关联式容器,在查询时效率可达到$log_2 N$,即最差情况下需要比较红黑树的高度次,当树中的节点非常多时,查询效率也不理想。最好 的查询是ÿ…...
Java实现调用第三方相关接口(附详细思路)
目录1.0.简单版2.0.升级版2-1.call.timeout()怎么传入新的超时值2-2.timeout(10, TimeUnit.SECONDS)两个参数的意思,具体含义3.0.进阶版3-1.java.net.SocketTimeoutException: 超时如何解决4.0.终极版1.0.简单版 以下是一个使用 Java 实际请求“第三方”的简单示例代…...
基础数据结构:单链表
今天懒洋洋学习了关于基础数据结构有关单链表的相关操作,懒洋洋来这温习一下。一:单链表的定义链表定义:用链式存储的线性表统称为链表,即逻辑结构上连续,物理结构上不连续。链表分类:单链表、双链表、循环链表、静态链…...
基于51单片机的智能计算器Protues仿真设计
目录 一、设计背景 二、实现功能 三、硬件设计 3.1 总体硬件设计 3.2 键盘电路的设计 3.3 显示电路的设计 四、仿真演示 五、源程序 一、设计背景 随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展&am…...
Pandas数据分析实战练习
Pandas数据分析实战练习 文章目录 Pandas数据分析实战练习一、读取Excel文件中的数据1、读取工号、姓名、时段、交易额这四列数据,使用默认索引,输出前10行数据2、读取第一个worksheet中所有列,跳过第1、3、5行,指定下标为1的列中数据为DataFrame的行索引标签二、筛选符合特…...
C++ 继承下(二篇文章学习继承所有知识点)
5.继承与友元友元关系不能继承,也就是说基类友元不能访问子类私有和保护成员 //验证友元不能继承 class B {friend void Print(); public:B(int b): _b(b){cout << "B()" << endl;}protected:int _b; };class D : public B { public:D(int b,…...
【C++】C++11新特性——类的改进|lambda表达式
文章目录一、类的改进1.1 默认生成1.2 移动构造函数1.3 移动赋值重载函数1.4 成员变量缺省值1.5 强制生成默认函数的关键字default1.6 禁止生成默认函数的关键字delete1.6.1 C98防拷贝1.6.1 C11防拷贝二、lambda表达式2.1 对比2.2 lambda表达式语法2.3 捕捉列表2.4 函数对象与l…...
C语言进阶(37) | 程序环境和预处理
目录 1.程序的翻译环境和执行环境 2.详解编译链接 2.1 翻译环境 2.2 编译本身也分为几个阶段: 2.3 运行环境 3.预处理详解 3.1预定符号 3.2 #define 3.3 #undef 3.4 命令行定义 3.5 条件编译 3.6 文件包含 了解重点: 程序的翻译环境程序的执行环境详解: C语言程…...
Golang每日一练(leetDay0005)
目录 13. 罗马数字转整数 Roman to Integer ★ 14. 最长公共前缀 Longest Common Prefix ★ 15. 三数之和 3Sum ★★★ 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 13. 罗马数字转…...
occt_modeling_data(一)——拓扑
下面是我基于opencascade英文文档中关于occt_modeling_data中Topology部分进行的翻译,英文好的还是建议直接看文档,部分我不肯定的地方我会附上英文原句。如发现有错误欢迎评论区留言。 OCCT Topolog允许用户访问和操纵物体的数据,且不需要处…...
【AcWing】蓝桥杯备赛-深度优先搜索-dfs(3)
目录 写在前面: 题目:93. 递归实现组合型枚举 - AcWing题库 读题: 输入格式: 输出格式: 数据范围: 输入样例: 输出样例: 解题思路: 代码: AC &…...
宇宙最强-GPT-4 横空出世:最先进、更安全、更有用
文章目录前言一、准确性提升1.创造力2.视觉输入3.更长的上下文二、相比于ChatGPT有哪些提升1.GPT-4 的高级推理能力超越了 ChatGPT2.GPT-4 在多种测试考试中均优于 ChatGPT。三、研究团队在GPT-4模型都做了哪些改善1.遵循 GPT、GPT-2 和 GPT-3 的研究路径2.我们花了 6 个月的时…...
HashMap的实际开发使用
目 录 前言 一、HashMap是什么? 二、使用步骤 1.解析一下它实现的原理 编辑 2.实际开发使用 总结 前言 本章,只是大概记录一下hashMap的简单使用方法,以及理清一下hashMap的put方法的原理,以及get方法的原理。 一、Has…...
OpenCV入门(十三)快速学会OpenCV 12 图像梯度
OpenCV入门(十三)快速学会OpenCV 12 图像梯度1.Sobel算子1.1 计算x1.2 计算y1.3 计算xy2.Scharr算子2.1 计算x2.2 计算y2.3 计算xy3.Laplacian算子4.总结图像梯度计算的是图像变化的速度。对于图像的边缘部分,其灰度值变化较大,梯…...
告别卡顿!GSYVideoPlayer的ExoPlayer内核配置全攻略(支持HLS/m3u8直播流)
GSYVideoPlayer的ExoPlayer内核深度调优:打造极致流畅的HLS直播体验 去年接手一个海外直播项目时,遇到最头疼的问题就是m3u8流媒体的卡顿和延迟。测试了各种方案后,最终通过GSYVideoPlayer的ExoPlayer内核解决了这个难题。今天就把这些实战经…...
Vue3最新版二维码生成避坑指南:从基础配置到企业级定制(附GitHub源码)
Vue3企业级二维码生成实战:从核心原理到性能优化 二维码作为连接物理世界与数字世界的桥梁,在现代Web应用中扮演着重要角色。本文将带您深入Vue3的二维码生成技术栈,不仅涵盖基础实现,更聚焦企业级应用中的高阶技巧与性能优化方案…...
Linux内核构建系统:Makefile、Kconfig与.config解析
1. Linux内核构建系统核心组件解析1.1 内核构建系统概述Linux内核作为复杂的开源项目,其构建系统由三个关键组件构成:Makefile、Kconfig和.config文件。这三个组件协同工作,构成了内核模块化构建的基础架构。1.1.1 组件类比关系Kconfig&#…...
从零到一实战:基于快马平台快速开发企业级jiyutrainer在线评测系统
今天想和大家分享一个很实用的开发经验——如何快速搭建一个企业级的在线编程评测系统。最近正好有个朋友想做一个类似jiyutrainer的编程练习平台,我就用InsCode(快马)平台试了试,效果出乎意料的好。 项目需求分析 首先明确我们需要实现的核心功能&#…...
百川2-13B量化模型+OpenClaw:3种低成本个人AI助手应用方案
百川2-13B量化模型OpenClaw:3种低成本个人AI助手应用方案 1. 为什么选择量化模型OpenClaw组合 去年冬天,当我第一次尝试在本地部署大模型时,被显存不足的报错狠狠教育了一顿——我的RTX 3060显卡根本无法承载常规13B参数的模型。直到发现百…...
毫米波雷达测速的“火眼金睛”:从汽车ACC到手势识别,Doppler FFT如何分辨不同速度的目标?
毫米波雷达测速的“火眼金睛”:从汽车ACC到手势识别,Doppler FFT如何分辨不同速度的目标? 在自动驾驶汽车的前方,一辆卡车突然减速,而右侧车道有摩托车正在加速超车——毫米波雷达如何在这复杂的场景中,准确…...
探索Tabler Icons 3.40.0:新增6000+高质量SVG图标的终极指南
探索Tabler Icons 3.40.0:新增6000高质量SVG图标的终极指南 【免费下载链接】tabler-icons A set of over 4800 free MIT-licensed high-quality SVG icons for you to use in your web projects. 项目地址: https://gitcode.com/GitHub_Trending/ta/tabler-icons…...
ES核心索引机制深度解析:从“正排”与“倒排”的底层原理到实战应用场景
1. 正排索引与倒排索引的本质区别 第一次接触Elasticsearch时,我被"正排"和"倒排"这两个概念绕得头晕。直到有次做商品搜索功能,才真正理解它们的差异。想象你面前有两本电话簿:一本按人名排序(正排ÿ…...
基于PSO算法的海陆空多栖无人机路径规划探索
PSO算法,空中机器人路径规划,无人机路径规划 海陆空多栖环境路径规划,考虑海洋和大气中的能源消耗不同,还原环境特性,粒子群PSO算法在如今科技飞速发展的时代,无人机的应用场景越发广泛,从简单的…...
从零掌握ComfyUI-WanVideoWrapper:AI视频制作工具实战指南
从零掌握ComfyUI-WanVideoWrapper:AI视频制作工具实战指南 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 在数字内容创作领域,视频生成工具正经历着前所未有的技术革新。…...
