Leetcode Longest Substring Without Repeating Characters Python 의 실패 실현 과 학습
2197 단어 데이터 구조 와 알고리즘
자신 이 실패 한 버 전:
class Solution(object):
def lengthOfLongestSubstring(self, s):
"""
:type s: str
:rtype: int
"""
temp = []
dict = {}
point = 0
count1 = 0
if len(s) == 0:
return 0
for char in s:
point = point + 1
if char in temp:
dict[point] = temp
temp = []
temp.append(char)
else:
temp.append(char)
count1 = count1 + 1
if len(s) == count1:
return len(s)
dict[point + 1] = temp
a = []
for key in dict:
print dict[key]
a.append(len(dict[key]))
return max(a)
토론 판 에 괜 찮 은 자바 와 파 이 썬.
Java
public int lengthOfLongestSubstring(String s) {
if (s.length()==0) return 0;
HashMap map = new HashMap();
int max=0;
for (int i=0, j=0; i
hashmap 를 이용 하여 이전 같은 문자 의 위 치 를 찾 습 니 다. 그러면 이 두 글자 사이 의 거 리 는 현재 문자 로 끝 나 는 가장 긴 substring 입 니 다. 현재 max 의 크기 를 비교 하여 업데이트 가 필요 한 지 확인 하 십시오. 문자 의 위 치 를 업데이트 하 는 것 도 기억 해 야 합 니 다. 중복 되 기 때 문 입 니 다.
Python
class Solution:
# @return an integer
def lengthOfLongestSubstring(self, s):
start = maxLength = 0
usedChar = {}
for i in range(len(s)):
if s[i] in usedChar and start <= usedChar[s[i]]:
start = usedChar[s[i]] + 1
else:
maxLength = max(maxLength, i - start + 1)
usedChar[s[i]] = i
return maxLength
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[JAVA] 배열 회전 출력요소 가 출력 을 시작 하 는 위치 에 주의 하 십시오. 모두 몇 라운드 의 수출 이 있 습 니까? n/2 + 1 매 라 운 드 는 상, 우, 하, 좌 로 나 뉜 다. 각 방향의 시작 위치 와 좌표 의 관 계 를 구...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.