day3: 剑指 Offer 48. 最长不含重复字符的子字符串

2023-05-16

剑指 Offer 48. 最长不含重复字符的子字符串

请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。

示例 1:

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

示例 2:

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

示例 3:

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

解法1:

class Solution:
    def lengthOfLongestSubstring(self, s: str) -> int:
        max_len = 0
        max_list = []

        for item in s:
            max_list.append(item)
            if item in max_list[:-1]:
                index = max_list.index(item)  # 寻找重复的 第一个值 的 索引;
                max_list = max_list[index+1:]
            max_len = max(len(max_list), max_len)
        # 无法找出 最长子序列 吗
        return max_len

解法2: 84ms

class Solution:
    def lengthOfLongestSubstring(self, s: str) -> int:
        max_len = 0
        max_list = []
        for item in s:
            if item in max_list:
                index = max_list.index(item)
                max_list = max_list[index+1:] + [item]
            else:
                max_list.append(item)
            max_len = max(len(max_list), max_len)
        return max_len

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

day3: 剑指 Offer 48. 最长不含重复字符的子字符串 的相关文章

  • 通关剑指 Offer——剑指 Offer II 056. 二叉搜索树中两个节点之和

    1 题目描述 剑指 Offer II 056 二叉搜索树中两个节点之和 给定一个二叉搜索树的 根节点 root 和一个整数 k 请判断该二叉搜索树中是否存在两个节点它们的值之和等于 k 假设二叉搜索树中节点的值均唯一 示例 1 xff1a
  • 剑指 Offer 03. 数组中重复的数字

    https leetcode cn com problems shu zu zhong zhong fu de shu zi lcof span class token keyword class span span class token
  • 【剑指offer系列】剑指offer 03-06

    这次我们来讲解剑指offer的全部题目 xff0c 今天是第一天 xff0c 我们来讲解第三题到第六题 xff08 我也不清楚为什么力扣上查不到第一题和第二题 xff09 一 剑指offer 03 题目链接 xff1a 力扣 题目描述 xf
  • 剑指offer 03

    span class token keyword class span span class token class name Solution span span class token punctuation span span cla
  • 我阿里P7了解到的Android面试的一些小内幕!已拿offer

    前言 这些题目是网友去百度 小米 乐视 美团 58 猎豹 360 新浪 搜狐等一线互联网公司面试被问到的题目 熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率 欢迎一线公司员工以及网友提交面试题库 xff0c 欢迎留言 网上的都是按
  • 【剑指offer】数字在排序数组中出现的次数

    统计一个数字在排序数组中出现的次数 解题思路 xff1a 遍历查找不是本题的最优解 xff0c 既然给出的是有序数组 xff0c 所以我们只需要找到目标的左侧和右侧的索引即可 所以我们可以找到本数组当中key 43 0 5和key 0 5的
  • 【C语言典例】——day3:设计魔方阵(数组)

    大家好 xff01 我是同学 森 xff0c 一名计算机爱好者 xff0c 今天让我们进入刷题模式 若有错误 xff0c 请多多指教 x1f44d 点赞 收藏 x1f4dd 留言 都是我创作的最大的动力 xff01 目录 魔方阵 xff08
  • 【剑指Offer】题3:数组中重复的数字

    写在前面的话 xff1a 版权声明 xff1a 本文为博主原创文章 xff0c 转载请注明出处 xff01 博主是一个小菜鸟 xff0c 并且非常玻璃心 xff01 如果文中有什么问题 xff0c 请友好地指出来 xff0c 博主查证后会进
  • 【二叉树】剑指offer 77 按之字形顺序打印二叉树

    描述 给定一个二叉树 xff0c 返回该二叉树的之字形层序遍历 xff0c xff08 第一层从左向右 xff0c 下一层从右向左 xff0c 一直这样交替 xff09 输出 1 3 2 4 5 栈解法 用两个栈来存奇数层和偶数层的节点 x
  • 刷完 LeetCode 是什么水平?能拿到什么水平的 offer?

    链接 xff1a https www zhihu com question 32019460 编辑 xff1a 深度学习与计算机视觉 声明 xff1a 仅做学术分享 xff0c 侵删 刷题是我们一贯的学习方式 xff0c 但是学霸和学渣的区
  • day3: 剑指 Offer 48. 最长不含重复字符的子字符串

    剑指 Offer 48 最长不含重复字符的子字符串 请从字符串中找出一个最长的不包含重复字符的子字符串 xff0c 计算该最长子字符串的长度 示例 1 输入 34 abcabcbb 34 输出 3 解释 因为无重复字符的最长子串是 34 a
  • 剑指 Offer 46. 把数字翻译成字符串

    剑指 Offer 46 把数字翻译成字符串 给定一个数字 xff0c 我们按照如下规则把它翻译为字符串 xff1a 0 翻译成 a xff0c 1 翻译成 b xff0c xff0c 11 翻译成 l xff0c xff0c 25 翻译成
  • java银行面试题目及答案,顺利拿到offer

    二 常见的并发问题 1 脏读 一个事务读取了另一个事务未提交的数据 2 不可重复读 一个事务对同一数据的读取结果前后不一致 两次读取中间被其他事务修改了 3 幻读 幻读是指事务读取某个范围的数据时 xff0c 因为其他事务的操作导致前后两次
  • 我阿里P7了解到的Android面试的一些小内幕!已拿offer

    前言 这些题目是网友去百度 小米 乐视 美团 58 猎豹 360 新浪 搜狐等一线互联网公司面试被问到的题目 熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率 欢迎一线公司员工以及网友提交面试题库 xff0c 欢迎留言 网上的都是按
  • 剑指offer T8跳台阶

    由推导可知 xff0c 递推公式为 f n 61 f n 1 43 f n 2 迭代法 xff1a 递归 xff1a 递归优化 xff08 保存结果 xff0c 剪枝 xff09 xff1a 转载于 https www cnblogs co
  • 代码随想录day3 leetcode203,707,206,剑指offer 76题,62题

    链表基础知识 单链表的定义 单链表 struct ListNode int val 节点上存储的元素 ListNode next 指向下一个节点的指针 ListNode int x val x next NULL 节点的构造函数 不定义构造
  • 【LeetCode】剑指 Offer 67. 把字符串转换成整数 p318 -- Java Version

    题目链接 xff1a https leetcode cn problems ba zi fu chuan zhuan huan cheng zheng shu lcof 1 题目介绍 xff08 67 把字符串转换成整数 xff09 写一个
  • 【LeetCode】剑指 Offer 68. 二叉树中两个节点的最低公共祖先 p326 -- Java Version

    1 题目介绍 xff08 68 二叉树中两个节点的最低公共祖先 xff09 面试题68 xff1a 二叉树中两个节点的最低公共祖先 xff0c 一共分为两小题 xff1a 题目一 xff1a 二叉搜索树的最近公共祖先题目二 xff1a 二叉
  • 都2021了作为一名Android开发者,还不学音视频开发?我劝你早点认清现实!

    缘起 最近经常遇到一些同学问我如何学习音视频 怎样才能快速上手 还有一些对音视频不了解的同学问我该不该学习音视频 作为一名音视频行业的10年Android老兵 我有一些思考分享给大家 希望能对你有所帮助 大趋势 从未来的大趋势来看 随着5G
  • 程序媛菜鸡面经(八 - offer篇)

    投简历 简历是要多投的 但是有时候投多了简历也会有问题 头条 没有面试机会 在看过简历后HR发邮件告知我 从简历上能看出你是一位很优秀的人 但看不出你在前端 技术方面的竞争力 当时投的是旧版简历 于是我回邮问简历有误能否重申 至今未有回音

随机推荐

  • SSIS数据定时同步方案

    第一次接触到SSIS xff0c 借此机会学习一下 SSIS是Microsoft SQL Server Integration Services的简称 xff0c 是生成高性能数据集成解决方案 xff08 包括数据仓库的提取 转换和加载 E
  • SQL Server数据库同步Oracle数据

    第一步 配置Oracle服务 电脑上需要安装Oracle客户端 xff08 因为需要Oracle的驱动 xff09 Oracle win64 11gR2 client 配置Oracle服务 第二步 配置SQL Server链接服务器 xff
  • SR04声波传感器原理详解及其Arduino编程——人人都能玩硬件

    通过前两篇文章 xff0c 我们已经熟悉了Arduino的基本GPIO编程和PC与Arduino的串口通信 接下来我们将开始一边学习各种传感器操作 xff0c 一边深入学习Arduino编程 再开始编程之前 xff0c 首先我们需要熟悉SR
  • 从UV位置图获得3D人脸

    1 这部分主要写从UV位置图获得3D人脸 xff0c 并不包括如何产生UV位置图 我已经获取一张图片的UV位置图 xff0c 如下图 xff1a xff08 a 裁剪后的人脸区域 xff09 xff08 b UV位置图 xff08 仅用来展
  • Ubuntu matplotlib 中文乱码问题

    1 下载字体 Microsoft YaHei 放到 matplotlib库文件夹字体下 lib python3 6 site packages matplotlib mpl data fonts ttf 自己的机器上路径 自己更改 字体下载
  • faster R-CNN中anchors 的生成过程代码

    import numpy as np def whctrs anchor 34 34 34 将 anchor 四个坐标的形式 转化成 宽 xff0c 高 xff0c 中心点横坐标 xff0c 中心点纵坐标 的形式 Return width
  • 5461. 仅含 1 的子串数

    给你一个二进制字符串 s xff08 仅由 39 0 39 和 39 1 39 组成的字符串 xff09 返回所有字符都为 1 的子字符串的数目 由于答案可能很大 xff0c 请你将它对 10 9 43 7 取模后返回 示例 1 xff1a
  • print end=“lr“

    print 34 epoch 34 format i end 61 34 r 34
  • python 调试 PDB

    https aistudio baidu com aistudio projectdetail 69987
  • pcl求取三维模型每个点的曲率以及法向量

    转载 xff1a http blog csdn net lming 08 article details 18360329 做个笔记 xff0c 写得很不错
  • 3D人脸重建: BFM结合表情模型

    MATLAB代码 xff1a addpath genpath pwd gt model 载入原始的BFM模型 load 39 raw 01 MorphableModel mat 39 载入3dffa中 BFM信息 load 39 3ddfa
  • 构建副对角线全为1的矩阵,

    突然用到 副对角线 全为1的矩阵 xff0c 不知道怎么调用numpy xff0c 自己写了一个 xff1a import numpy as np 副对角线 全为 1 def get subdiag n value ar 61 for i
  • day1: 357. 计算各个位数不同的数字个数

    给定一个非负整数 n xff0c 计算各位数字都不同的数字 x 的个数 xff0c 其中 0 x lt 10n 示例 输入 2 输出 91 解释 答案应为除去 11 22 33 44 55 66 77 88 99 外 xff0c 在 0 1
  • day1: 二叉树

    1 二叉树的层序遍历 给你一个二叉树 xff0c 请你返回其按 层序遍历 得到的节点值 xff08 即逐层地 xff0c 从左到右访问所有节点 xff09 示例 xff1a 二叉树 xff1a 3 9 20 null null 15 7 3
  • 求正整数的平方根

    34 34 34 求正整数的平方根 二分查找 34 34 34 def sqrt val t if val lt 0 or t lt 0 return 0 left 61 0 right 61 val mid 61 left 43 righ
  • 对BN的理解

    BN原理与使用过程详解 内部协变量偏移 Internal Covariate Shift 和批归一化 Batch Normalization 对于BN层的理解 关于BN防止过拟合的分析 BN Batch Normalization 原理与使
  • 感受野的计算方法

    卷积神经网络基础题 如何计算多层卷积 池化网络每一层的感受野 Receptive Field
  • day2:215. 数组中的第K个最大元素 快速排序 python代码

    34 34 34 快速排序 思想 xff1a 基本思想是 xff1a 通过一趟排序将要排序的数据分割成独立的两部分 xff0c 其中一部分的所有数据都比另外一部分的所有数据都要小 xff0c 然后再按此方法对这两部分数据分别进行快速排序 x
  • 梯度消失和梯度爆炸原因及其解决方案

    梯度消失和梯度爆炸原因及其解决方案
  • day3: 剑指 Offer 48. 最长不含重复字符的子字符串

    剑指 Offer 48 最长不含重复字符的子字符串 请从字符串中找出一个最长的不包含重复字符的子字符串 xff0c 计算该最长子字符串的长度 示例 1 输入 34 abcabcbb 34 输出 3 解释 因为无重复字符的最长子串是 34 a