力扣-139.单词拆分

题目描述

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

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

java 复制代码
class Solution {
    public boolean wordBreak(String s, List<String> wordDict) {
        boolean[] dp = new boolean[s.length()+1];
        Set<String> set = new HashSet<>();
        for (int i = 0; i < wordDict.size(); i++) {
            set.add(wordDict.get(i));
        }
        dp[0]=true;
        for (int i = 1; i <= s.length(); i++) {
            for (int j = i; j <= s.length(); j++) {
                String substr = s.substring(i-1,j);
                if(set.contains(substr)&&dp[i-1]==true){
                    dp[j]=true;
                }
            }
        }
        return dp[s.length()];
    }
}

小结:手撕成功,java的API逐渐熟练了,继续冲

相关推荐
Dlrb12112 小时前
C语言-指针三
c语言·算法·指针·const·命令行参数
Tisfy3 小时前
LeetCode 2540.最小公共值:双指针(O(m+n))
算法·leetcode·题解·双指针
IronMurphy3 小时前
【算法四十七】152. 乘积最大子数组
算法
淘矿人4 小时前
Claude辅助DevOps实践
java·大数据·运维·人工智能·算法·bug·devops
Cosolar4 小时前
万字详解:RAG 向量索引算法与向量数据库架构及实战
数据库·人工智能·算法·数据库架构·milvus
落羽的落羽6 小时前
【算法札记】练习 | Week4
linux·服务器·数据结构·c++·人工智能·算法·动态规划
萑澈6 小时前
算法竞赛入门:C++ STL核心用法与时空复杂度速查手册
数据结构·c++·算法·stl
Godspeed Zhao7 小时前
从零开始学AI16——SVM
算法·机器学习·支持向量机
江屿风7 小时前
C++OJ题经验总结(竞赛)1
开发语言·c++·笔记·算法