139.单词拆分【leetcode】/动态规划

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 <= s.length <= 300
1 <= wordDict.length <= 1000
1 <= wordDict[i].length <= 20
s 和 wordDict[i] 仅由小写英文字母组成
wordDict 中的所有字符串 互不相同

动态规划

dp[i]表示第i个字母及之前的子串能不能拆分,遍历字符串的字符,在列表中找到对应尾字符相等的且前面的字符也都相等且这前面是可拆分的,则可拆分

class Solution {
public:bool wordBreak(string s, vector<string>& wordDict) {bool dp[305];memset(dp,false,sizeof(dp));int len=s.size();for(int i=0;i<len;i++){for(int j=0;j<wordDict.size();j++){string temp=wordDict[j];int n=temp.size();if(s[i]==temp[n-1]&&i-n+1>=0&&s.substr(i-n+1,n)==temp) {if(i-n>=0&&dp[i-n]==1) dp[i]=1;else if(i-n<0) dp[i]=1;}}}return dp[len-1];}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/687724.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【SpringBoot3】从重构HelloWorld看Spring的作用

在我们学习一门新技术的时候,总是先运行出一个基本的程序来输出“Hello World”,如果成功了, 说明我们的开发环境基本就绪了,我们也像婴儿走路一样,能走第一步了。接下来我们就逐步改造一个最基本的HelloWorld来一步步分析Spring到底帮助我们做 了什么。 目录 第一步:输…

CCF编程能力等级认证GESP—C++4级—20231209

CCF编程能力等级认证GESP—C4级—20231209 单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09;判断题&#xff08;每题 2 分&#xff0c;共 20 分&#xff09;编程题 (每题 25 分&#xff0c;共 50 分)小杨的字典田忌赛马 参考答案单选题判断题编程题1编程题2 单选题…

近几年计算机毕设之论文参考文献(Java参考文献、MySQL参考文献、jsp参考文献、Python参考文献、微信小程序参考文献、外文参考文献)(10个一组)

目录 1、Java参考文献 2、JavaWeb参考文献 3、MySQL参考文献 4、Python参考文献 5、微信小程序参考文献 6、Jsp参考文献 7、SpringBoot参考文献 8、vue参考文献 9.ASP.NET参考文献 10、外文参考文献 1、Java参考文献 [1] 丁玉青;孙逸飞;朱敏.基于JAVA的共享蓝牙耳机小…

智能扭矩系统——SunTorque

随着工业自动化的不断发展&#xff0c;智能扭矩系统作为一种新型的扭矩控制技术&#xff0c;逐渐受到广泛关注。智能扭矩系统是一种基于传感器技术和计算机控制的扭矩管理系统&#xff0c;它能够实时监测和调整设备的扭矩输出&#xff0c;以确保生产过程中的稳定性和安全性。 搭…

国产计算机的种类和应用

国产计算机的种类和应用 国产计算机的种类繁多&#xff0c;根据不同的应用场景和需求&#xff0c;可以分为个人计算机、服务器、工业控制计算机、嵌入式计算机等。 个人计算机是国产计算机中最常见的类型&#xff0c;包括台式机、笔记本电脑、平板电脑等。这些计算机广泛应用于…

采用文件路径安装库到不同的python环境

C:\Users\Administrator>pip3 install --targetD:\PycharmProjects\pythonProject3\venv\Lib\site-packages configparser

Aquarius Fantasy Series Orcs

使用标准管道创建。目前不支持URP或HDRP。 - 如果想将其转换为URP或类似材质。90%的材质可以完美转换。但是树叶材质和岩石顶盖材质无法转换,除非有自己的材质,无论是自己制作的,还是其他资源包。布料也是如此,每块布料都是单面的,使用简单的材质来达到双面效果。所有其他…

IOC理解总结

IOC 控制反转&#xff08;Inversion of Control&#xff0c;缩写为IoC&#xff09;&#xff0c;是面向对象编程中的一种设计原则&#xff0c;可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入&#xff08;Dependency Injection&#xff0c;简称DI&#xff09…

21种matlab信号分解方法汇总

21中信号分解方法汇总 CEEMD(互补集合经验模态分解)CEEMDAN(自适应噪声完备集合经验模态分解) EEMD(集合经验模态分解&#xff09;EMD(经验模态分解)ESMD(极点对称模态分解&#xff09;EWT(经验小波变换分解)FEEMD(快速EEMD分解)ICEEMDAN(改进自适应噪声完备集合经验模态分解)L…

非关系型数据库(NOSQL)和关系型数据库(SQL)区别详解

前言&#xff1a; 在我们的日常开发中&#xff0c;关系型数据库和非关系型数据库的使用已经是一个成熟的软件产品开发过程中必不可却的存储数据的工具了。那么用了这么久的关系数据库和非关系型数据库你们都知道他们之间的区别了吗&#xff1f;下面我们来详细的介绍一下。 关系…

阿里云第七代云服务器ECS计算c7、通用g7和内存r7配置如何选择?

阿里云服务器配置怎么选择合适&#xff1f;CPU内存、公网带宽和ECS实例规格怎么选择合适&#xff1f;阿里云服务器网aliyunfuwuqi.com建议根据实际使用场景选择&#xff0c;例如企业网站后台、自建数据库、企业OA、ERP等办公系统、线下IDC直接映射、高性能计算和大游戏并发&…

BuildAdmin - 免费开源可商用!基于 ThinkPHP8 和 Vue3 等流行技术栈打造的商业级后台管理系统

一款包含 PHP 服务端和 Vue 前端代码的 admin 管理系统&#xff0c;实用性很强&#xff0c;推荐给大家。 BuildAdmin 是一个成熟的后台管理系统&#xff0c;后端服务采用 ThinkPHP8 &#xff0c;数据库使用 Mysql&#xff0c;前端部分则使用当前流行的 Vue3 / TypeScript / Vi…

HDFS 命令实操

在hdfs中创建文件夹&#xff1a;/itcast/itheima&#xff0c;如存在请删除&#xff08;跳过回收站&#xff09; 上传Linux文件系统中的/etc/hosts文件到hdfs的/itcast/itheima内 查看hdfs中刚刚上传的文件内容 向hdfs中上传的文件追加&#xff1a;itheima到最后一行 下…

从物联网到数字孪生:智慧社区的演变

随着科技的飞速发展和数字化转型的深入推进&#xff0c;智慧社区已成为提升城市治理水平和居民生活质量的重要方向。在这一演变过程中&#xff0c;物联网和数字孪生技术起到了至关重要的作用。本文将深入探讨从物联网到数字孪生的演变过程&#xff0c;分析这一转变对智慧社区建…

初识数据库:探索数据的世界

初识数据库&#xff1a;探索数据的世界 1. 什么是数据库&#xff1f;2. 数据库的类型2.1 关系型数据库&#xff08;RDBMS&#xff09;2.2 非关系型数据库&#xff08;NoSQL&#xff09; 3. 为什么使用数据库&#xff1f;4. 如何选择合适的数据库&#xff1f;5. 结语 在信息技术…

面试题-重点

11、深拷贝和浅拷贝的区别是什么 浅拷贝:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象.换言之,浅拷贝仅仅复制所考虑的对象,而不复制它所引用的对象. 深拷贝:被复制对象的所有变量都含有与原来的对象相同的值.而那些引用其他对…

Python中 ‘==‘ 与‘is‘的区别

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 比较判断逻辑是在代码中经常使用的&#xff0c;在Python中常用 ‘’ 和 is 来做比较判断。 : 双等号是用来比较变量所指向内存单元中的值是否相等&#xff0c;它只关心值&#xff0c;并不在意值的内存地址&#xff0c;也就是说…

前端给后端传值

在 Vue 2 中&#xff0c;你可以通过发送 HTTP 请求来将前端的数据传递到后端。这通常涉及到使用像 axios 这样的库来发送请求。以下是一个基本的步骤和示例&#xff0c;展示了如何通过按钮点击将 data 数据发送到后端&#xff1a; <template> <div> <input v…

Python+appium框架原生代码实现App自动化测试

step1&#xff1a;首先介绍下pythonappium的框架结构&#xff0c;如下截图所示 (1)&#xff1a;apk目录主要放置待测app的apk资源&#xff1b; (2)&#xff1a;config目录主要放置配置文件信息&#xff0c;包含&#xff1a;数据库连接配置、UI自动化脚本中所需的页面元素信息及…

Rust中的字符串处理及相关方法详解

在Rust中&#xff0c;字符串是一种非常重要的数据类型&#xff0c;而String类型则提供了对动态可变字符串的支持。本文将介绍一些常见的字符串处理方法以及相关示例代码。 创建字符串 在Rust中&#xff0c;有多种方式创建字符串&#xff0c;以下是一些常见的例子&#xff1a;…