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

【不定长滑动窗口】【灵神题单】【刷题笔记】

class Solution:
    def lengthOfLongestSubstring(self, s: str) -> int:
        # 设左右指针,移动右指针统计字符出现次数
        # 如果有重复出现的,就移动左指针 知道没有重复,更新res
        ans = 0
        left = 0

        for right, c in enumerate(s):
            if c in s[left : right]:
                left += s[left:right].find(c) + 1
            else:
                ans = max(ans, right - left + 1) 
        return ans

这里的find是第一次看到,是字符串自带的,太好用了也…

也可以用while代替find的功能!

用一个假left一直跟着right跑,直到某次

class Solution:
    def lengthOfLongestSubstring(self, s: str) -> int:
        ans = 0
        left = 0

        for right, c in enumerate(s):
            # 用while循环替代find方法来检查是否有重复字符并移动左指针
            temp_left = left
            while temp_left < right and s[temp_left]!= c:
                temp_left += 1

            if temp_left < right:
                left = temp_left + 1
            else:
                ans = max(ans, right - left + 1)

        return ans

http://www.kler.cn/a/410348.html

相关文章:

  • TCP快速重传机制为啥出现重复ACK?
  • Ray 和 PyTorch
  • 《图像梯度与常见算子全解析:原理、用法及效果展示》
  • 【数据结构】—— 线索二叉树
  • 基于SSM的婚庆管理系统+LW示例参考
  • 调试器 gdb/cgdb 的使用
  • QT实现拷贝复制文件操作 QT5.12.3环境 C++实现
  • 分布式kettle调度平台v6.4.0新功能介绍
  • [UE5学习] 一、使用源代码安装UE5.4
  • MySQL:DATEDIFF()计算两个日期天数之差
  • 高速缓存(Cache)与主内存(Memory)
  • C#基础上机练习题
  • 【Python】分割秘籍!掌握split()方法,让你的字符串处理轻松无敌!
  • Qt——实现文本根据字体+控件长度自适应更改为:内容+...
  • 机器学习-----变色龙算法(Chameleon Algorithm)
  • 大语言模型---LoRA简介;LoRA的优势;LoRA训练步骤;总结
  • 免费实用在线AI工具集合 - 加菲工具
  • 在 MySQL 记录操作日志,通常有几种方法可以实现。
  • 基于微信小程序的空巢老人健康管理系统
  • 基于Java Springboot个人健康管理系统
  • 3.STM32之通信接口《精讲》之IIC通信---MPU6050介绍
  • 【Linux】DHCP服务实验
  • 层次聚类(Hierarchical Clustering)详解
  • 如何将APK预置到Android系统
  • Java项目实战II基于微信小程序的图书馆自习室座位预约平台(开发文档+数据库+源码)
  • 《硬件架构的艺术》笔记(七):处理字节顺序