单词拆分Python解法
生活随笔
收集整理的這篇文章主要介紹了
单词拆分Python解法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
給你一個字符串 s 和一個字符串列表 wordDict 作為字典,判定?s 是否可以由空格拆分為一個或多個在字典中出現(xiàn)的單詞。
說明:拆分時可以重復(fù)使用字典中的單詞。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/word-break
?
列:
輸入: s = "leetcode", wordDict = ["leet", "code"]
輸出: true
解釋: 返回 true 因為 "leetcode" 可以被拆分成 "leet code"。
# 解析:從頭開始遍歷,如果遍歷到字典中的單詞,則記錄斷點,然后繼續(xù)遍歷,判斷斷點與當(dāng)前字符之間組成的單詞是否存在于字典中。如果記錄的最后一個斷點值為字符串的長度則代表可以拆分為字典中的單詞。
class Solution(object):def wordBreak(self, s, wordDict):""":type s: str:type wordDict: List[str]:rtype: bool"""breakp = [0] # 第一個斷點為開頭for i in range(len(s) + 1): # 遍歷每一個字符for j in breakp: # 遍歷每一個斷點if s[j:i] in wordDict: # 判斷斷點與當(dāng)前字符組成的字符串是否是字典里的單詞breakp.append(i) # 存在則加入斷點break # 并跳出斷點判斷循環(huán),因為存在即可,沒必要全部判斷return breakp[-1] == len(s) # 判斷最后的斷點值是否等于字符串長度總結(jié)
以上是生活随笔為你收集整理的单词拆分Python解法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 等差数列划分Python解法
- 下一篇: 苹果 Apple Watch 手表新专利