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

C++算法-动态规划2

第 4 题 字符串分割 (Word Break)

  • 难度: Medium
  • 备注:出自 leetcode
  • 题目描述
    Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words.
    For example, given s ="leetcode", dict =["leet", "code"].

        Return true because"leetcode"can be segmented as"leet code".
        bool wordBreak (string s, unordered_set &dict)
        来源:牛客 - leetcode

题目描述
给定一个字符串和一个词典 dict,确定 s 是否可以根据词典中的词分成一个或多个单词。
比如,给定
s = "leetcode"
dict = ["leet", "code"]
返回 true,因为 "leetcode" 可以被分成 "leet code"

#include <bits/stdc++.h>
using namespace std;
bool wordBreak (string s, unordered_set<string> &dict) {//unordered_set &dict 哈希表 //边界判断 if(s.empty())return false;int len=s.size();//vector构造函数实现初始化 vector<bool> canBreak(len+1,false);//初始化 F(0)=truecanBreak[0]=true;for(int i=1;i<=len;i++){//转移方程 F(i)  j<i && F(j) && [j+1,i]for(int j=i-1;j>=0;j--){if(canBreak[j]&&dict.find(s.substr(j,i-j))!=dict.end()){canBreak[i]=true;break;}} }//返回结果 F(s.size()) return canBreak[len];
}
int main() {string s="leetcode";unordered_set<string> dict={"leet","code"};cout<<wordBreak(s,dict);return 0;
}

http://www.xdnf.cn/news/12597.html

相关文章:

  • 前端基础之《Vue(19)—状态管理》
  • 73 LV的使用(XFS文件系统)
  • CMA软件产品测试报告在哪申请?
  • Dify+Ollama搭建本地知识库
  • C/C++ 中附加包含目录、附加库目录与附加依赖项详解
  • 高精度滚珠导轨在医疗设备中的多元应用场景
  • 江科大读写内部flash到hal库实现
  • STTT(IF:40.8) 清华大学常智杰团队完成雾化外泌体治疗肺纤维化的I期临床试验
  • python学习打卡day46
  • DRV8833 电机控制芯片
  • STM32定时器的种类作用
  • 惠斯通电桥温度补偿优化解决方案
  • 《架构即未来》笔记
  • Cesium等高线
  • 新版双紫擒龙、紫紫红黄、动能二号源码指标源码公式讲解
  • 基于SmartPlayer的超低延迟RTSP播放器全平台开发实录
  • 【GESP真题解析】第 14 集 GESP 三级 2024 年 9 月编程题 1:平衡序列
  • MajicTryOn(基于wanvideo的虚拟试穿项目)
  • 单图像生成3D动画模型TripoSR的部署过程
  • 局域网聊天室系统的设计与实现【源码+文档】
  • 储能方案设计:鹧鸪云模拟软件优势尽显
  • 文件对话框
  • daz3d + PBRSkin (MDL)+ SSS
  • 【国产8K 50P小型化广播级摄像机X2023央视总台春晚】多图预警
  • MySQL基础(五)事务、DCL权限控制、视图、同义词、索引及练习
  • 学习数字孪生,为你的职业发展开辟新赛道
  • 港股TRS交易系统开发:跨境资本的精密调度引擎
  • Beckhoff(倍福)PLC 顺控程序转换条件解读
  • MS8611运算放大器可pin对pin兼容AD8132
  • c++算法学习5——贪心算法