返回顶部
首页 > 资讯 > 后端开发 > Python >leetcode 3. Longest
  • 838
分享到

leetcode 3. Longest

leetcodeLongest 2023-01-31 07:01:47 838人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

题目:Given a string, find the length of the longest substring without repeating characters. For example, the longest subst

题目:

Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is 3. For "bbbbb" the longest substring is "b", with the length of 1.

大意是找出最长无重复子串


算法思路:

  这道题应该可以用动态规划做,我用的是double point的方法

  一个指针start指向子串头部,另一个指针end指向子串尾部

  每次递增end,判断end所指字符是否在当前子串中出现过

    • 如果出现过,则将start指针向后移动一位

    • 否则,将end指针向后移动,并更新最长子串长度                           

  最后返回子串最大长度即可


  该算法可以在start指针移动时进行优化,但是我优化后发现结果也没啥变化,就贴原来的代码吧


代码:

class Solution(object):
    def lengthOfLongestSubstring(self, s):
        """
        :type s: str
        :rtype: int
        """
        sLen = len(s)
        if sLen == 0 or sLen == 1:
            return sLen

        letters = list(s)

        hashSet = {}
        hashSet[letters[0]] = 1

        start = 0
        end = 1

        maxLen = 1

        while end != sLen:
            letter = letters[end]

            if hashSet.has_key(letter) and hashSet[letter] > 0:
                hashSet[letters[start]] -= 1
                start += 1
                continue

            hashSet[letter] = 1
            end += 1
            if end - start > maxLen:
                maxLen = end - start

        return maxLen


--结束END--

本文标题: leetcode 3. Longest

本文链接: https://lsjlt.com/news/192135.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • leetcode 3. Longest
    题目:Given a string, find the length of the longest substring without repeating characters. For example, the longest subst...
    99+
    2023-01-31
    leetcode Longest
  • Longest Substring Without Repeating Characters
    Given a string, find the length of the longest substring without repeating characters.Examples:Given "abc...
    99+
    2023-06-03
  • 3。leetcode在2N的数组中找出
    1.题目:In a array A of size 2N, there are N+1 unique elements, and exactly one of these elements is repeated N times. Ret...
    99+
    2023-01-31
    组中 leetcode
  • C++实现leetcode(3.最长无重复字符的子串)
    [LeetCode] 3. Longest Substring Without Repeating Characters 最长无重复字符的子串 Given a string, fin...
    99+
    2024-04-02
  • leetCode
    two sum Given an array of integers, return indices of the two numbers such that they add up to a specific target. You m...
    99+
    2023-01-31
    leetCode
  • 2008-3-3
    发现eva老是出现问题,版本过时。。现在用了webim就是舒服多了[url]http://www-c2.meebo.com.cn/index.html[/url]注册一下,可以绑定msn和qq,不需要再安装其他软件啦。哈哈ubuntu下安装...
    99+
    2023-01-31
  • 马哥3-3
    命令别名:        alias在shell中定义的别名只在当前shell生命周期有效,别名的有效范围为当前shell进程        unalias  撤销 命令替换        $,  反引号文件名通配:*:任意长度的任意字符?...
    99+
    2023-01-31
    马哥
  • 3.redis集群部署3主3从
    redis集群部署 一:安装redis (使用redis3.0.6版本),同《1.redis安装》1.下载源码$ tar xzf redis-3.0.6.tar.gz$ cd redis-3.0.6$ make   2、编译完成后,在Src...
    99+
    2023-01-31
    集群 redis
  • 2017.12.27 3周3次课
    三周第三次课(12月27日)3.7 su命令3.8 sudo命令3.9 限制root远程登录3.7 su命令su命令就是切换用户的工具,通过su可以在用户之间切换,如果超级权限用户root向普通用户切换不需要密码,而普通用户切换到其它任何用...
    99+
    2023-01-31
  • 3-3 SQL Server 2005数
    3-3 SQL Server 2005数据库优化 u      了解数据库引擎优化顾问基本内容 u      掌握数据库引擎优化顾问的使用 u      掌握通过命令行的方式进行索引的优化——DTA     一个数据库系统的性能依赖于组成...
    99+
    2023-01-31
    SQL Server
  • python(leetcode)-283
    给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少...
    99+
    2023-01-30
    python leetcode
  • python(leetcode)-344
    编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII...
    99+
    2023-01-30
    python leetcode
  • [LeetCode Python3]5
    在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。 给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。 重构后的矩阵需要将原始矩...
    99+
    2023-01-31
    LeetCode
  • [leetcode]39. Combin
    题目: Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C where the...
    99+
    2023-01-31
    leetcode Combin
  • leetcode 241. Differ
    题目:Given a string of numbers and operators, return all possible results from computing all the different possible ways t...
    99+
    2023-01-31
    leetcode Differ
  • 【leetcode】 46. Permu
    Permutations Given a collection of distinct numbers, return all possible permutations. For example, [1,2,3] hav...
    99+
    2023-01-31
    leetcode Permu
  • ×××3
       ...
    99+
    2023-01-31
  • 树莓派3(Raspberry Pi 3)
    ·树莓派3(Raspberry Pi 3)安装Win10 IOT1、格式化SD卡(用SDFormatter工具) 2、下载noobs lite即可(https://www.raspberrypi.org/downloads/noobs/),...
    99+
    2023-01-31
    树莓派 Raspberry Pi
  • python学习整理--3/3
    今天又重新学起了python这门语言,带着新的目的和又涨一岁的自己,其实早在去年的暑期曾学过一段时间,但是最后无疾而终,这次我真心希望可以掌握一门实用的语言来充实自己,之前的学的不论是c还是java,自我感觉除了做题以外一点都用不上,但感觉...
    99+
    2023-01-31
    python
  • ⒉设置 Bash 选项[3-3]
    <!-- @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimS...
    99+
    2023-01-31
    选项 Bash
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作