

Python,速成心法
敲代码,查资料,问Ai
练习,探索,总结,优化

★★★★★博文创作不易,源码代码的过程中,如有疑问的地方,欢迎大家指正留言交流。喜欢的老铁可以多多点赞+收藏分享+置顶,小红牛在此表示感谢。★★★★★
Python打包教程07:还不会用--add-data参数,添加资源文件吗?
Python打包教程04:UPX安装与使用(减小.exe体积)
Python打包教程03:PyInstaller命令使用指南
Python教程:PyCharm安装过程中遇到的中英文对照表
Python教程:找到字符串中最长回文子串(上海自来水来自海上)
# 示例输入: s = "abcabcbb"输出: 3解释: 无重复字符的最长子串是 "abc",长度为 3。输入: s = "bbbbb"输出: 1解释: 最长子串是 "b",长度为 1。输入: s = "pwwkew"输出: 3解释: 最长子串是 "wke" 或 "kew",长度为 3。输入: s = ""输出: 0
↓ 完整源码如下 ↓
# -*- coding: utf-8 -*-# @Author : 小红牛# 微信公众号:wdPythondef length_of_longest_substring(s: str) -> int:"""返回无重复字符的最长子串长度。参数:s: 输入字符串返回:int: 最长无重复子串的长度"""# 用于记录字符最近一次出现的位置(索引)char_index_map = {}left = 0 # 窗口左边界max_len = 0for right, ch in enumerate(s):# 如果字符已经在窗口内出现,移动左边界到上次出现位置的下一位if ch in char_index_map and char_index_map[ch] >= left:left = char_index_map[ch] + 1# 更新字符最新位置char_index_map[ch] = right# 更新最大长度current_len = right - left + 1if current_len > max_len:max_len = current_lenreturn max_len# 测试用例if __name__ == "__main__":print(length_of_longest_substring("abcabcbb")) # 3print(length_of_longest_substring("bbbbb")) # 1print(length_of_longest_substring("pwwkew")) # 3print(length_of_longest_substring("")) # 0print(length_of_longest_substring("aab")) # 2print(length_of_longest_substring("dvdf")) # 3
完毕!!感谢您的收看
------★★历史博文集合★★------
