当前位置:   article > 正文

代码随想录算法训练营day 46 |139.单词拆分

代码随想录算法训练营day 46 |139.单词拆分

139.单词拆分

代码随想录

思路:

代码:

  1. class Solution {
  2. public boolean wordBreak(String s, List<String> wordDict) {
  3. HashSet<String> set = new HashSet<>(wordDict);
  4. boolean[] valid = new boolean[s.length() + 1];
  5. valid[0] = true;
  6. //物品的顺序需要考虑,所以先循环背包
  7. for (int i = 1; i <= s.length(); i++) {
  8. //此处加强valid【i】为空是为了在确定了字符串前i位可以在字典里找到拼接后,
  9. //直接进入后面i的判断
  10. for (int j = 0; j < i && !valid[i]; j++) {
  11. //字典中的词可以用多次,所以从前向后遍历
  12. if (set.contains(s.substring(j, i)) && valid[j]) {
  13. valid[i] = true;
  14. }
  15. }
  16. }
  17. return valid[s.length()];
  18. }
  19. }

需要注意的点:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/214806
推荐阅读
相关标签
  

闽ICP备14008679号