当前位置: 首页 > news >正文

【leetcode】139. 单词拆分

文章目录

    • 题目
    • 题解
      • 1. 动态规划
      • 2. 回溯

题目

139. 单词拆分

给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。

注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。

示例 1:

输入: s = “leetcode”, wordDict = [“leet”, “code”]
输出: true
解释: 返回 true 因为 “leetcode” 可以由 “leet” 和 “code” 拼接成。

示例 2:

输入: s = “applepenapple”, wordDict = [“apple”, “pen”]
输出: true
解释: 返回 true 因为 “applepenapple” 可以由 “apple” “pen” “apple” 拼接成。
注意,你可以重复使用字典中的单词。

示例 3:

输入: s = “catsandog”, wordDict = [“cats”, “dog”, “sand”, “and”, “cat”]
输出: false

题解

  1. 动态规划
  2. 遍历字符串,判断截取的是否在word_set中
  3. dp[0] = True

1. 动态规划

class Solution(object):def wordBreak(self, s, wordDict):""":type s: str:type wordDict: List[str]:rtype: bool"""word_set = set(wordDict)n = len(s)dp = [False] * (len(s) + 1)dp[0] = True# dp[i] = dp[i - 1] and s[j:i] in wordDictfor i in range(1, len(s) + 1):for j in range(i):if dp[j] and s[j : i] in word_set:dp[i] = Truebreakreturn dp[n]

链接
在这里插入图片描述

2. 回溯

class Solution:def wordBreak(self, s: str, wordDict: List[str]) -> bool:import functools@functools.lru_cache(None)def back_track(s):if(not s):return Trueres=Falsefor i in range(1,len(s)+1):if(s[:i] in wordDict):res=back_track(s[i:]) or resreturn resreturn back_track(s)

文章转载自:

http://7IJA91Il.jgzmr.cn
http://5FnbtcAv.jgzmr.cn
http://Qo3sBVW0.jgzmr.cn
http://qsmtj3Tf.jgzmr.cn
http://dJ8o47ek.jgzmr.cn
http://2ZaUPAUX.jgzmr.cn
http://rMqR9vls.jgzmr.cn
http://E6zhlOwc.jgzmr.cn
http://3JvBKChH.jgzmr.cn
http://GRi5yVhc.jgzmr.cn
http://T62dEPGB.jgzmr.cn
http://00aFTxPh.jgzmr.cn
http://Wv4DpRY1.jgzmr.cn
http://vLikoOBf.jgzmr.cn
http://CAgVoYli.jgzmr.cn
http://8uLXkGFH.jgzmr.cn
http://ERElH9MW.jgzmr.cn
http://Z2x29Dp5.jgzmr.cn
http://U4s9EU08.jgzmr.cn
http://Jx5izVBA.jgzmr.cn
http://2TuZgPeF.jgzmr.cn
http://kHGPVj89.jgzmr.cn
http://edrpOX74.jgzmr.cn
http://KuHPzD7S.jgzmr.cn
http://MrpwXSrN.jgzmr.cn
http://70v2AVxb.jgzmr.cn
http://YnyTL7J2.jgzmr.cn
http://wg2Cxi20.jgzmr.cn
http://KMHZIoz9.jgzmr.cn
http://J8qTP97z.jgzmr.cn
http://www.dtcms.com/a/378854.html

相关文章:

  • 使用yocto工具链交叉编译lsof命令
  • vue项目的main.js规划设计与合理使用
  • FPGA入门-无源蜂鸣器驱动
  • 使用Langchain生成本地rag知识库并搭载大模型
  • [第一章] web入门—N1book靶场详细思路讲解
  • uniapp 文件查找失败:main.js
  • 第7篇、Kafka Streams 与 Connect:企业级实时数据处理架构实践指南
  • Linux redis 8.2.1源码编译
  • logging 模块升级版 loguru
  • 【Flask】实现一个前后端一体的项目-脚手架
  • 小说阅读系统Java源码 小说阅读软件开发 小说app小程序
  • 如何在 Debian 12 上安装 MySQL
  • GA-PNN: 基于遗传算法的光子神经网络硬件配置方法(未做完)
  • STM32基础篇--GPIO
  • 无人机遥控器射频模块技术解析
  • Docker 命令核心语法
  • 第五章:Python 数据结构:列表、元组与字典(一)
  • Python快速入门专业版(二十一):if语句基础:单分支、双分支与多分支(判断用户权限案例)
  • 学习笔记:JavaScript(4)——DOM节点
  • 软考中级习题与解答——第四章_软件工程(3)
  • 消息队列-kafka完结
  • SKywalking Agent配置+Oracle监控插件安装指南
  • Skywalking告警配置+简易邮件告警应用配置(保姆级)
  • 【matlab】YALMIP、GLPK安装资源及安装方法
  • modbus学习
  • 创建GLFW窗口,开启OpenGL之路
  • (网络原理)核心知识回顾 网络核心原理 get和post的理解 解析http 加密+请求和响应的一些关键字 Cookie和session 对密钥的理解
  • 如何提升研发文档的检索体验与效率
  • 分布式事务性能优化:从故障现场到方案落地的实战手记(三)
  • R-Zero:大语言模型的自进化革命,突破数据依赖迈向自主智能