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
}
相关推荐
冯诺依曼的锦鲤12 分钟前
从零实现高并发内存池:TCMalloc 核心架构拆解
c++·学习·算法·架构
Thomas_Lee_OR15 分钟前
多Agent路径规划 LaCAM for multi-agent path finding (MAPF)
算法·路径规划·仓储机器人·mapf
一切皆是因缘际会23 分钟前
可落地数字生命工程:从记忆厮杀到自我意识觉醒全链路,AGI内生智能硅基生命心智建模
人工智能·深度学习·算法·机器学习·ai·系统架构·agi
nlpming34 分钟前
opencode Agent 详解
算法
江南十四行38 分钟前
排序算法进阶:直接插入排序(简单排序)与希尔排序
数据结构·算法·排序算法
nlpming38 分钟前
opencode System Prompt 构建机制 & AGENTS.md注入机制
算法
nlpming39 分钟前
opencode - 安装和配置
算法
nlpming44 分钟前
opencode 内置工具
算法
knight_9___44 分钟前
LLM工具调用面试篇5
人工智能·python·深度学习·面试·职场和发展·llm·agent
nlpming1 小时前
opencode - 常用命令&自定义命令
算法