leetcode 139. 单词拆分

思路

  1. 定义一个bool类型的dp切片,dp[i]表示字符串s中前i个字符可以在wordDict中找到
  2. 初始化 dp[0] = true,空字符串可以被拆分。
  3. 遍历字符串 s 的每个位置 i,并在每个位置 j(0 <= j < i)检查子串 s[j:i] 是否在字典中,如果满足条件且 dp[j] = true,则更新 dp[i] = true。
  4. 最终返回 dp[len(s)] 表示整个字符串 s 能否被拆分。

代码

go 复制代码
func wordBreak(s string, wordDict []string) bool {
    n :=len(s)
    dp := make([]bool,n+1)
    dp[0]=true
    for i:=1;i<=n;i++{
        for j:=0;j<i;j++{
            if dp[j] && contains(wordDict,s[j:i]){
                dp[i]=true
                break
            }
        }
    }
    return dp[n]
}

func contains(wordDict []string, word string) bool {
	for _, w := range wordDict {
		if w == word {
			return true
		}
	}
	return false
}
相关推荐
子琦啊1 分钟前
构造函数、this指向和原型链机制
javascript·算法·贴图
WHS-_-20223 分钟前
Millimeter Wave ISAC-SLAM: Framework and RFSoC Prototype
人工智能·算法·原型模式
吃好睡好便好5 分钟前
在Matlab中绘制杆状图
开发语言·学习·算法·matlab·信息可视化
带带弟弟学爬虫__5 分钟前
dyAPP数据采集-个人主页、发布、搜索、评论
服务器·python·算法·flutter·java-ee·django
sali-tec11 分钟前
C# 基于OpenCv的视觉工作流-章75-线-线角度
图像处理·人工智能·opencv·算法·计算机视觉
大熊背21 分钟前
Binning模式下和Normal模式下加权平均亮度差异分析以及优化
人工智能·算法·自动曝光
思茂信息21 分钟前
CST案例:可调谐全硅手性超表面在太赫兹频段
网络·人工智能·算法·重构·cst·电磁仿真
天真小巫36 分钟前
六年之约-2026.5.21
职场和发展
呃呃本40 分钟前
算法题(动态规划)
算法·动态规划
pen-ai1 小时前
Kennard-Stone (KS) 算法详解 —— 从实验设计到样本划分的经典方法
人工智能·算法·机器学习