面试算法-99-单词拆分

题目

给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。

注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。

示例 1:

输入: s = "leetcode", wordDict = ["leet", "code"]

输出: true

解释: 返回 true 因为 "leetcode" 可以由 "leet" 和 "code" 拼接成。

java 复制代码
class Solution {
    public boolean wordBreak(String s, List<String> wordDict) {
        int n = s.length();
        boolean[] dp = new boolean[n + 1];
        dp[0] = true;
        for (int i = 0; i <= n; i++) {
            if (!dp[i]) {
                continue;
            }
            for (String word : wordDict) {
                if (i + word.length() <= n && s.startsWith(word, i)) {
                    dp[i + word.length()] = true;
                }
            }
        }
        return dp[n];
    }
}
相关推荐
田梓燊5 分钟前
力扣:138.随机链表的复制
算法·leetcode·链表
笨蛋不要掉眼泪9 分钟前
面试篇-java基础上
java·后端·面试·职场和发展
不忘不弃10 分钟前
皇后摆放问题优化求解法
算法
前端摸鱼匠11 分钟前
【AI大模型春招面试题27】字节对编码(BPE)的分词过程?如何处理未登录词(OOV)?
人工智能·ai·面试·大模型·求职招聘
王老师青少年编程16 分钟前
csp信奥赛C++高频考点专项训练之贪心算法 --【区间贪心】:线段覆盖
c++·算法·贪心·csp·信奥赛·区间贪心·线段覆盖
痴男本疒16 分钟前
从一道算法题发现的泛型问题
算法
itzixiao17 分钟前
L1-054 福到了(15 分)[java][python]
java·python·算法
M--Y26 分钟前
Redis集群和典型应用场景
redis·算法·哈希算法·集群
MediaTea34 分钟前
AI 术语通俗词典:召回率(分类)
人工智能·算法·机器学习·分类·数据挖掘
ECT-OS-JiuHuaShan34 分钟前
哲学的本质,是递归因果
java·开发语言·人工智能·科技·算法·机器学习·数学建模