力扣hot100 单词拆分 变形背包 排列

Problem: 139. 单词拆分
力扣hot100 单词拆分 变形背包 排列_第1张图片

文章目录

  • 思路
  • 复杂度
  • Code

思路

‍ 参考题解

力扣hot100 单词拆分 变形背包 排列_第2张图片
在这里插入图片描述

复杂度

时间复杂度: O ( n 3 ) O(n^3) O(n3)

Code

class Solution {
	public boolean wordBreak(String s, List wordDict)
	{
		Set set = new HashSet<>(wordDict);
		boolean[] f = new boolean[s.length() + 1];
		Arrays.fill(f, false);
		f[0] = true;
		for (int i = 1; i <= s.length(); i++)//枚举背包容量
			for (int j = 0; j < i && !f[i]; j++)//枚举物品
				if (set.contains(s.substring(j, i)) && f[j])
					f[i] = true;
		return f[s.length()];
	}
}

你可能感兴趣的:(力扣,hot100,leetcode,算法,职场和发展)