小工具知识网

当前位置: 首页 > 行业知识 > 代码随想录算法训练营第四十六天 139.单词拆分、多重背包(了解)、 背包总结

行业知识

代码随想录算法训练营第四十六天 139.单词拆分、多重背包(了解)、 背包总结

2026-11-01 22:26:48 来源:互联网转载

代码随想录算法训练营第四十六天 | 139.单词拆分、多重背包(了解)、 背包总结

139.单词拆分

题���链接:139. 单词拆分 - 力扣(LeetCode)

class Solution {    public boolean wordBreak(String s, List wordDict) {        // 字典中的单词就是物品,字符串s就是背包,物品能不能把背包装满?        Set wordDictSet = new HashSet(wordDict);        boolean[] dp = new boolean[s.length() + 1];        // dp[i]表示字符串 s 前 i个字符组成的字符串 s[0..i−1]是否能被空格拆分成若干个字典中出现的单词        // 递推公式         //  if( [j, i] 这个区间的子串出现在字典里 && dp[j]是true) 那么 dp[i] = true。        dp[0] = true; // dp[0]就是递推的根基,dp[0]一定要为true, dp[0]没有意义        // 先遍历背包        /**        如果求组合数就是外层for循环遍历物品,内层for遍历背包。        如果求排列数就是外层for遍历背包,内层for循环遍历物品。 ✔         */        for(int i = 1; i             // 然后,我们开始遍历字符串 "leetcode" 的每个字符,同时对于每个字符,我们都会从字符头部遍历到当前字符的每个子字符串。            for(int j = 0; j 

上一篇:苹果4软件下载攻略,轻松掌握下载技巧

下一篇:第一篇【传奇开心果系列】Python的游戏库pygame技术点案例示例:深度解读实战开发飞机大战经典游戏案例