本文主要是介绍算法训练营day40(补),动态规划8,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//139. 单词拆分
func wordBreak(s string, wordDict []string) bool {
wordMap := make(map[string]bool)
n := len(s)
for _, word := range wordDict {
wordMap[word] = true
}
dp := make([]bool, n+1)
dp[0] = true
for i := 1; i <= n; i++ { // 遍历背包
for j := 0; j <= i; j++ { // 遍历物品
w := s[j:i] //截取字符串
if wordMap[w] && dp[j] {
dp[i] = true
break
}
}
}
return dp[n]
}
这篇关于算法训练营day40(补),动态规划8的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!