dp解决方案,状态转移方程
f[i]代表字符串第i位能否被分割
f[i]=(f[j]&&s.substring(j+1,i+1))||(f[j]&&s.substring(j+2,i+1))||...
public class Solution { public boolean wordBreak(String s, Set<String> dict) { boolean[] f = new boolean[s.length()]; for(int i =0; i<s.length(); i++){ if(dict.contains(s.substring(0, i+1))){ f[i]=true; continue; }else { for(int j=0; j<i; j++){ if(f[j] && dict.contains(s.substring(j+1,i+1))){ f[i]=true; continue; } } } } return f[s.length()-1]; } }
相关推荐
leetcode思维导图-动态规划
java java_leetcode-115-distinct-subsquences
java java_leetcode-101-symmetric-tree
java java_leetcode-100-same-tree
java java_leetcode-112-path-sum
java java_leetcode-73-set-matrix-zeroes
java java_leetcode-110-balanced-binary-tree
java java_leetcode-maximum-depth-of-binary-tree
java java_leetcode-99-recover-binary-search-tree
java java_leetcode-113-path-sumII
java java_leetcode-111-minimum-depth-of-binary-tree
java java_leetcode-107-binary-tree-level-order-traversal
java java_leetcode-102-binary-tree-level-order-traversal
标题中的"coolyeah-leetcode-doocs-master_java_"暗示了这是一个关于编程学习和实践的项目,特别是针对Java语言。LeetCode是一个知名的在线平台,提供了一系列的编程挑战,用于提升编程技能和面试准备。"master"可能...
java java_leetcode-114-flatten-binary-tree-to-linked-list
java java_leetcode-105-construct-binary-tree-from-preorder-and-inorde
① 首先按照pairs[i][0] 升序排列② 从前往后寻找,dp[i] 表示以i个元素结束的最长子串的大小。
本题的难点在于状态方程的定义:dp[i][j] 以 A[i],A[j]结尾的斐波那契式子长度Map, Integer> map = new Ha
3. leetcode-214-Shortest-Palindrome.md:第214题,寻找最短回文串,可能涉及到字符串操作和动态规划。 4. leetcode-145-Binary-Tree-Postorder-Traversal.md:第145题,二叉树的后序遍历,是关于树结构和递归的...
3. **动态规划**:解决具有重叠子问题和最优子结构的问题,例如斐波那契数列、背包问题、最长公共子序列等。 4. **贪心算法**:通过局部最优解逐步达到全局最优,如活动安排问题、最小花费爬楼梯等。 5. **回溯与...