力扣-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逐渐熟练了,继续冲

相关推荐
xl.liu19 分钟前
零售行业仓库商品数据标记
算法·零售
confiself23 分钟前
通义灵码分析ms-swift框架中CHORD算法实现
开发语言·算法·swift
做怪小疯子25 分钟前
LeetCode 热题 100——二叉树——二叉树的层序遍历&将有序数组转换为二叉搜索树
算法·leetcode·职场和发展
CoderYanger37 分钟前
递归、搜索与回溯-记忆化搜索:38.最长递增子序列
java·算法·leetcode·1024程序员节
xlq223222 小时前
22.多态(下)
开发语言·c++·算法
CoderYanger2 小时前
C.滑动窗口-越短越合法/求最长/最大——2958. 最多 K 个重复元素的最长子数组
java·数据结构·算法·leetcode·哈希算法·1024程序员节
却话巴山夜雨时i3 小时前
394. 字符串解码【中等】
java·数据结构·算法·leetcode
haing20193 小时前
使用黄金分割法计算Bezier曲线曲率极值的方法介绍
算法·黄金分割
leoufung3 小时前
LeetCode 230:二叉搜索树中第 K 小的元素 —— 从 Inorder 遍历到 Order Statistic Tree
算法·leetcode·职场和发展
jyyyx的算法博客3 小时前
多模字符串匹配算法 -- 面试题 17.17. 多次搜索
算法