博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 139. Word Break
阅读量:6488 次
发布时间:2019-06-24

本文共 2149 字,大约阅读时间需要 7 分钟。

https://leetcode.com/problems/word-break/description/

Given a non-empty string s and a dictionary wordDict containing a list of non-empty words, determine if s can be segmented into a space-separated sequence of one or more dictionary words. You may assume the dictionary does not contain duplicate words.

For example, given

s = "leetcode",
dict = ["leet", "code"].

Return true because "leetcode" can be segmented as "leet code".


  • 中等题,动态规划。
  • 定义 F[i] stands for s[0...i-1] is a valid sequence,那么F[i] = F[j] && find(s[j...i-1]),其中F[0] = true; 0 <= j < i; 0 <= i <= s.size(); 最终结果为F[s.size()]。
  • find - C++ Reference
    • http://www.cplusplus.com/reference/algorithm/find/?kw=find
  • 根据C++ Primer,使用关联容器定义的专用的find成员会比调用泛型find快得多。所以如果是map,则用map::find()更快。
    • map::find - C++ Reference
      • http://www.cplusplus.com/reference/map/map/find/
////  main.cpp//  LeetCode////  Created by Hao on 2017/3/16.//  Copyright © 2017年 Hao. All rights reserved.//////  main.cpp//  LeetCode////  Created by Hao on 2017/3/16.//  Copyright © 2017年 Hao. All rights reserved.//#include 
#include
using namespace std;class Solution {public: bool wordBreak(string s, vector
& wordDict) { vector
f(s.size() + 1, false); /* F[i] stands for s[0...i-1] is a valid sequence F[0] = true; F[i] = F[j] && find(s[j...i-1]) 0 <= j < i 0 <= i <= s.size() */ f[0] = true; // empty string for (int i = 1; i < s.size() + 1; i ++) for (int j = 0; j < i; j ++) if (f[j] && find( wordDict.begin(), wordDict.end(), s.substr( j, i - j ) ) != wordDict.end() ) { f[i] = true; break; } return f[s.size()]; }};int main(){ Solution testSolution; string inputS = "leetcode"; vector
inputWD = {
"leet","code"}; /* 1 */ cout << testSolution.wordBreak(inputS, inputWD) << endl; return 0;}
View Code

 

转载于:https://www.cnblogs.com/pegasus923/p/8540761.html

你可能感兴趣的文章
基于Hibernate注解的解读
查看>>
ELK——安装 logstash 2.2.0、elasticsearch 2.2.0 和 Kibana 3.0
查看>>
Atitit.cateService分类管理新特性与设计文档说明v1
查看>>
Java内部DNS查询实现和参数设置
查看>>
MySQL批量SQL插入性能优化
查看>>
0c-37-ARC
查看>>
图像的 SNR 和 PSNR 的计算
查看>>
图像边缘检测——Sobel算子
查看>>
【并发编程】延时初始化
查看>>
Android用路径api在内部存储读写文件
查看>>
PHP 实现对象的持久层,数据库使用MySQL
查看>>
Freemarker生成静态代码实例
查看>>
Ural 2036. Intersect Until You're Sick of It 计算几何
查看>>
视差效果原理 background-attachment:fixed
查看>>
【读书笔记《Bootstrap 实战》】5.电子商务网站
查看>>
PHP中“简单工厂模式”实例讲解
查看>>
SparkConf加载与SparkContext创建(源码阅读一)
查看>>
使用ffmpeg录音
查看>>
微信养号教程预防封号
查看>>
模2运算的原理 模2加法,模2减法,模2乘法,模2除法
查看>>