算法训练营Day46(背包总结)

发布时间:2024年01月14日

单词拆分

139. 单词拆分 - 力扣(LeetCode)

完全背包的排列问题

class Solution {
    public boolean wordBreak(String s, List<String> wordDict) {
        HashSet<String> set = new HashSet<>(wordDict);
        //字符串的长度为i 能凑成s为true,是dp[i]
        //字符串从1开始计数,0代表空字符串?
        boolean[] valid = new boolean[s.length() + 1];
        valid[0] = true;
        for(int i = 1;i<=s.length();i++){
            for (int j = 0; j < i && !valid[i]; j++) {
                if (set.contains(s.substring(j, i)) && valid[j]) {
                    valid[i] = true;
                }
            }
        }
        return valid[s.length()];
    }
}

二刷总结

视频讲解:动态规划之完全背包,你的背包如何装满?| LeetCode:139.单词拆分_哔哩哔哩_bilibili

代码随想录

?关于多重背包,你该了解这些!?

代码随想录

?背包问题总结篇!?

代码随想录

文章来源:https://blog.csdn.net/weixin_65728526/article/details/135585256
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。