golang力扣leetcode 139.单词拆分

简介: golang力扣leetcode 139.单词拆分

139.单词拆分

139.单词拆分

题解

//state: dp[i]表示s[0,i)的串是否合法

//function: dp[i] = dp[j] && check[j,i)

//intialize:dp[0] = true

//answer: dp[len(s)] = true


代码

package main
func wordBreak(s string, wordDict []string) bool {
  dp := make([]bool, len(s))
  dp[0] = true
  wordmap := make(map[string]bool)
  for _, v := range wordDict {
    wordmap[v] = true
  }
  for i := 1; i <= len(s); i++ {
    for j := 0; j < i; j++ {
      if dp[j] && wordmap[s[j+1:i]] {
        dp[i] = true
      }
    }
  }
  return dp[len(s)]
}


目录
相关文章
|
3月前
|
程序员 C语言
【C语言】LeetCode(力扣)上经典题目
【C语言】LeetCode(力扣)上经典题目
|
3月前
|
索引
力扣(LeetCode)数据结构练习题(3)------链表
力扣(LeetCode)数据结构练习题(3)------链表
107 0
|
3月前
力扣(LeetCode)数据结构练习题(2)
力扣(LeetCode)数据结构练习题(2)
35 0
|
3月前
|
存储
力扣(LeetCode)数据结构练习题
力扣(LeetCode)数据结构练习题
64 0
|
3月前
Leetcode(最后一个单词长度)
这篇文章介绍了两种解决LeetCode第58题的方法,即计算给定字符串中最后一个单词的长度,方法包括翻转字符串和逆向遍历统计。
24 0
|
3月前
【LeetCode 20】151.反转字符串里的单词
【LeetCode 20】151.反转字符串里的单词
27 0
|
5月前
|
算法
LeetCode第58题最后一个单词的长度
LeetCode第58题"最后一个单词的长度"的解题方法,通过从字符串末尾向前遍历并计数非空格字符,直接得出最后一个单词的长度。
LeetCode第58题最后一个单词的长度
|
5月前
|
算法 JavaScript Python
【Leetcode刷题Python】79. 单词搜索和剑指 Offer 12. 矩阵中的路径
Leetcode第79题"单词搜索"的Python解决方案,使用回溯算法在给定的二维字符网格中搜索单词,判断单词是否存在于网格中。
65 4
|
5月前
|
Python
【Leetcode刷题Python】生词本单词整理
文章提供了一个Python程序,用于帮助用户整理和排版生词本上的单词,包括去除重复单词、按字典序排序,并按照特定的格式要求进行打印排版。
50 3
|
5月前
|
Python
【Leetcode刷题Python】343. 整数拆分
LeetCode 343题 "整数拆分" 的Python解决方案,使用动态规划算法来最大化正整数拆分为多个正整数之和的乘积。
33 0