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