단어 인터럽트 | Letcode 29일차
923 단어 python
Given a non-empty string s and a dictionary wordDict containing a list of non-empty words, determine if s can be segmented into a space-separated sequence of one or more dictionary words.
예.
"""
입력:s="leetcode",wordDict=["leet", "code"]
출력:트루
설명: "leetcode"는 "leetcode"로 나눌 수 있기 때문에true로 돌아갑니다.
"""
솔루션 -
가능한 최적화는 모든 하위 문자열을 교체하고 검사할 필요가 없고, 사전에 어떤 렌 하위 문자열이 존재하는지 알고, 이 길이만 검사할 수 있다는 것이다.
class Solution:
def wordBreak(self, s: str, wordDict: List[str]) -> bool:
dp = [False] * (len(s)+1)
dp[0] = True
d = set(wordDict)
for i in range(len(s)):
for word in wordDict:
l = len(word)
if i+1-l >= 0 and s[i+1-l:i+1] in d and dp[i+1-l]:
dp[i+1] = True
break
return dp[-1]
Reference
이 문제에 관하여(단어 인터럽트 | Letcode 29일차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/skbhagat40/word-break-leetcode-day-29-4kdd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)