力扣 139. 单词拆分 python AC

动态规划

class Solution:
    def wordBreak(self, s, wordDict) -> bool:
        size = len(s)
        dp = [False] * (size + 1)
        dp[0] = True
        for i in range(1, size + 1):
            for word in wordDict:
                size2 = len(word)
                if size2 <= i and dp[i - size2] and s[i - size2:i] == word:
                    dp[i] = True
                    break
        return dp[size]

定义dp[i]的状态为:s字符串到第i位为止可以被列表中元素代表

--遍历字符串每一位

  --遍历列表每个元素

    --如果元素长度不大于当前字符串位置,且 字符串位置减元素长度 状态为真(到这步之前的字符串能够被列表中元素表示),且这段字符串和元素相等

      --设为真,并跳出循环,到字符串下一个位置

--返回dp最后一位的状态

相关推荐

  1. 139. 单词

    2024-05-12 20:38:07       58 阅读
  2. 139. 单词

    2024-05-12 20:38:07       45 阅读
  3. 139. 单词 python AC

    2024-05-12 20:38:07       33 阅读
  4. Leetcode 139 单词

    2024-05-12 20:38:07       54 阅读
  5. leetcode 139. 单词

    2024-05-12 20:38:07       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-12 20:38:07       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-12 20:38:07       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-12 20:38:07       87 阅读
  4. Python语言-面向对象

    2024-05-12 20:38:07       96 阅读

热门阅读

  1. MATLAB数值计算工具箱介绍

    2024-05-12 20:38:07       34 阅读
  2. Linux 系统中,nl命令用于计算文件中的行号

    2024-05-12 20:38:07       34 阅读
  3. C++进阶——浅谈隐式转化

    2024-05-12 20:38:07       33 阅读
  4. 简述Redis过期策略及内存淘汰机制

    2024-05-12 20:38:07       36 阅读
  5. golang中三种线程安全的MAP

    2024-05-12 20:38:07       33 阅读
  6. SQL多表查询

    2024-05-12 20:38:07       30 阅读
  7. c++ 和c回调混合的一种实现

    2024-05-12 20:38:07       29 阅读
  8. Liunx软件包管理(上)

    2024-05-12 20:38:07       25 阅读