Longest Substring without Repeating Characters
来源:互联网 发布:程序员 网络工程师 编辑:程序博客网 时间:2024/06/05 19:55
题目详情:https://leetcode.com/problems/longest-substring-without-repeating-characters/description/
自己写的代码,主要思路就是:存储字符串中每个元素的位置;如果当前字符c在前边出现过,设为start,那么取的该位置,并更新c的位置,设为nowPos。这里有个变量m,m存储”历史上”start的最大值,程序需要根据m的值来确定start的值,如果m的值较大,那么字符串s中从start到nowPos之间必定有重复元素,所以需要将m的值赋给start,以保证[start,nowPos]之间没有重复元素。
#-*- coding:utf-8 -*-class Solution(object): def lengthOfLongestSubstring(self, s): """ :type s: str :rtype: int """ i,j,length=0,0,len(s) maxLength,pos,d=0,{},{} start,m=0,-1 while i<length: if pos.get(s[i])==None:#如果s[i]没有出现过 pos[s[i]]=i #添加到d中 else:#s[i]已经在d中了 start=pos[s[i]]+1#获得上一次出现s[i]的位置 pos[s[i]]=i#更新s[i]出现的位置 if start<m:#m存储无重复元素的可能子串的最大下标,如果start<m start=m#那么s[start:i+1]肯定有重复元素 elif start>m:#如果start>m m=start #更新s dis=i-start+1#求出这次无重复元素子串的长度,start为子串的开始位置 if dis>maxLength:#如果dis较大 maxLength=dis#那么更新最大长度的值 i=i+1 return maxLength
阅读全文
0 0
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- openstack 1.7.2 +centos 7.2 + nova 12.0.4 搭建
- 64. Minimum Path Sum
- 基于OpenStack Ocata版本源码分析-oslo
- tcp的三次握手和四次挥手、长链接和短链接
- jQuery JS 禁用滚动条和启用滚动条
- Longest Substring without Repeating Characters
- (无监督学习&&视频预测)所读论文[1]:PredNet
- MD5
- oracle表空间
- 在SCDN上的第一篇博客
- Atcoder Regular Contest 081 总结
- 2017.8.22坐标问题
- 【NOIP2017提高A组模拟8.22】密码
- 九宫格横竖等于4 用代码实现