(刷题笔记) Leetcode 面试题 17.13. 恢复空格

面试题17.13恢复空白——力扣算法系列2020.07.09 python 2020.07.09 周四 题目:面试题17.13恢复空白 难度:中等 哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!“已经变成了"iresetthecomputeritstilldidntboot”。在处理标点符号和大小写之前,你得先把它断成词语。当然了,你有一本厚厚的词典dictionary,不过,有些词没在词典里。假设文章用sentence表示,设计一个算法,把文章断开,要求 阅读详情

题目

哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!“已经变成了"iresetthecomputeritstilldidntboot”。在处理标点符号和大小写之前,你得先把它断成词语。当然了,你有一本厚厚的词典dictionary,不过,有些词没在词典里。假设文章用sentence表示,设计一个算法,把文章断开,要求未识别的字符最少,返回未识别的字符数。

注意:本题相对原题稍作改动,只需返回未识别的字符数

示例:

输入:
dictionary = [“looked”,“just”,“like”,“her”,“brother”]
sentence = “jesslookedjustliketimherbrother”
输出: 7
解释: 断句后为"jess looked just like tim her brother",共7个未识别字符。

提示:

0 <= len(sentence) <= 1000
dictionary中总字符数不超过 150000。
你可以认为dictionary和sentence中只包含小写字母。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/re-space-lcci

解题思路

一开始写的时候没注意提干要求未识别的字符最少,就很规矩的写了个拆分的代码,然后只能过30个测试用例。
后面看了一下解答区,因为没接触过字典树,所以没看这方面的解法。
动态规划的写法还比较好懂,递推公式就是 在没有匹配的情况下 dp[i]=dp[i-1]+1; 在有匹配的情况下,取最大匹配 dp[i]=min(dp[i],dp[i-len]);

代码(C++)

class Solution {
public:
    int respace(vector<string>& dictionary, string sentence) {

       int sen_len=sentence.size();
       vector<int> dp(sen_len+1);
       dp[0]=0;

       for(int i=1;i<=sen_len;++i){

           dp[i]=dp[i-1]+1;

           for(int j=0;j<dictionary.size();++j){

               int len=dictionary[j].size();
               if(i>=len){

                   if(sentence.substr(i-len,len)==dictionary[j]){
                       dp[i]=min(dp[i],dp[i-len]);
                   }
               }
           }
       }

       return dp[sen_len];
    }
};
保姆级教程:在mmdetection中手动计算并可视化P、R、F1值(附完整代码) 本文提供了一份详细的mmdetection教程,指导开发者如何手动计算并可视化精确率(P)、召回率(R)和F1值。通过完整的代码示例和清晰的步骤说明,帮助用户深入理解目标检测模型的性能评估方法,特别适合需要精细分析模型表现的计算机视觉研究人员和工程师。 阅读详情

相关推荐

DEM高程数据的获取、合并与坐标转换

DEM高程数据的获取、合并与坐标转换一、DEM数据的获取二、数据合并三、投影转换方法一四、投影转换方法二 今天用DEM数据做了一个坡度分析,数据使用过程中涉及到投影坐标转换,由于不是很熟悉所以费了一番功夫。经过一番折腾总结出两个方法,方法一自认为比较便捷的方法,即通过BIGMAP软件中工具列表中的投影转换功能进行。方法二为传统方法,即在Arcgis中用投影栅格工具进行转换。 一、DEM数据的获取 在地理空间数据云网站下载DEM数据(精度包括30米和90米),数据格式为tif格式或img格式,坐标为WGS_1

weixin_48625651的博客 1万+

LeetCode每日一题:面试题17.13.恢复空格

题目描述 哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!“已经变成了"iresetthecomputeritstilldidntboot”。在处理标点符号和大小写之前,你得先把它断成词语。当然了,你有一本厚厚的词典dictionary,不过,有些词没在词典里。假设文章用sentence表示,设计一个算法,把文章断开,要求未识别的字符最少,返回未识别的字符数。 注意:本题相对原题稍作改动

CoderZhangsM的博客 251

利用PLECS实现Boost变换器的闭环控制仿真与优化

本文详细介绍了如何利用PLECS仿真软件实现Boost变换器的闭环控制与优化。从基础原理到开环系统搭建,再到闭环控制设计与动态优化,提供了完整的仿真实践指南。通过PLECS的仿真功能,工程师可以有效诊断问题、优化参数,并实现高性能的DC-DC变换器设计。

weixin_42527401的博客 325

面试题 17.13. 恢复空格

面试题 17.13. 恢复空格 哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!“已经变成了"iresetthecomputeritstilldidntboot”。在处理标点符号和大小写之前,你得先把它断成词语。当然了,你有一本厚厚的词典dictionary,不过,有些词没在词典里。假设文章用sentence表示,设计一个算法,把文章断开,要求未识别的字符最少,返回未识别的字符数。 注意

夜幕下的日蚀 154

基于FaceX-Zoo实现的Face Mask Adding人脸戴口罩

人脸系列文章目录 文章目录人脸系列文章目录前言一、加口罩效果二、实现原理二、代码实现 前言 目前人脸加口罩均为在人脸位置贴图式的,非常不真实。前段时间京东开源一个基于PRnet实现的3D口罩拟合人脸,加口罩非常逼真,但是只是单独一个加口罩demo,没有完整的流程。于是本人结合人脸检测,关键点对齐。PRnet加口罩实现一个完整的加口罩流程。只需一个命令简单方便调用,实现人脸加口罩。 https://github.com/JDAI-CV/FaceX-Zoo 一、加口罩效果 下图可以看出效果还是非常逼真的

zengwb的博客 3390

手把手教你用OpenCV+Python实现HALCON级模板匹配(附工业案例代码)

本文详细介绍了如何利用开源计算机视觉库OpenCV和Python,构建媲美HALCON商业软件的工业级模板匹配解决方案。通过分析工业检测的核心挑战,文章提供了从模板预处理、多策略融合匹配到应对尺度与旋转的完整代码实现,并附有连接器引脚检测的实战案例,为工业自动化场景下的高精度视觉检测提供了低成本、高可控性的技术路径。

e3f4g5的博客 284

程序员面试金典——解题总结: 9.17中等难题 17.14句子分割

#include #include #include #include #include #include #include #include using namespace std; /* 问题:你写了一篇长文,却误用“查找/替换”,不慎删除了文档中所有空格、 标点,大写变成小写。比如,句子"I reset the computer, It still didn'

qingyuanluofeng的专栏 456

Imatest-Star模块(西门子星图)

星图分析指南:基于ISO12233标准的MTF测试方法,通过放射状射线和正弦灰度变化评估相机SFR性能。

weixin_64706696的博客 1566

【LeetCode】每日一题(二十二)面试题 17.13. 恢复空格 动态规划+Trie字典树优化

面试题 17.13. 恢复空格 20200709 难度:中等 题目描述 哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!“已经变成了"iresetthecomputeritstilldidntboot”。在处理标点符号和大小写之前,你得先把它断成词语。当然了,你有一本厚厚的词典dictionary,不过,有些词没在词典里。假设文章用sentence表示,设计一个算法,把文章断开,要求未识

Evelyn的博客 301

USB设备识别码VID和PID详解:如何查询和自定义你的设备ID

本文详细解析了USB设备识别码VID和PID的核心作用、查询方法及自定义配置技巧。VID(供应商识别码)和PID(产品识别码)是USB设备的唯一身份证,用于驱动匹配和功能识别。文章提供了Windows和Linux系统下的查询方法,并探讨了如何合法获取和自定义VID/PID,适合硬件开发者和DIY爱好者参考。

weixin_29168675的博客 1460

NVIDIA DGX Spark实战指南:从开箱到部署200B参数大模型

本文详细介绍了NVIDIA DGX Spark桌面AI超级计算机的开箱体验与实战部署指南。文章深入解析了其Grace Blackwell架构与128GB统一内存的核心优势,并逐步演示了从系统初始化、运行200B参数大模型到进行QLoRA微调的全过程。该设备将高达1 PetaFLOP的AI算力浓缩于桌面,为开发者和研究团队提供了本地化、高性能的AI开发与部署一体化解决方案。

weixin_29274969的博客 2230

LeetCode刷题笔记 面试题 17.13. 恢复空格

题目描述 哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!“已经变成了"iresetthecomputeritstilldidntboot”。在处理标点符号和大小写之前,你得先把它断成词语。当然了,你有一本厚厚的词典dictionary,不过,有些词没在词典里。假设文章用sen...

XIIV13的博客 798

绿联UGOS Pro系统虚拟机部署Windows 11详细教程(跳账户登录,安装内存驱动)

总的来说,此次的虚拟机部署Windows 11出现的问题应该是目前几乎所有虚拟机都可能出现的问题,和绿联是没有关系的。所以说如果你在其它NAS上虚拟机部署Windows 11系统如果出现同样的问题,那么今天教程的方案也同样适用于你。

qq_63499861的博客 1万+

力扣刷题笔记 面试题 17.13. 恢复空格 C#

今日签到题,题目如下: 哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!"已经变成了"iresetthecomputeritstilldidntboot"。在处理标点符号和大小写之前,你得先把它断成词语。当然了,你有一本厚厚的词典dictionary,不过,有些词没在词典里。假设文章用sentence表示,设计一个算法,把文章断开,要求未识别的字符最少,返回未识别的字符数。 注意:

cjc52294的博客 310

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

leetcode刷题笔记 面试题 17.13.恢复空格

面试题 17.13. 恢复空格 知识点:字典树,字符串匹配 题目链接:https://leetcode-cn.com/problems/re-space-lcci 题目 哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!“已经变成了"iresetthecomputeritstilldidntboot”。在处理标点符号和大小写之前,你得先把它断成词语。当然了,你有一本厚厚的词典diction

cjl的博客 218

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

LeetCode-面试题 17.13. 恢复空格

LeetCode-面试题 17.13. 恢复空格 -.- 这题不会做,记录下大佬的题解(难度:中等) 一、题目内容 哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!“已经变成了"iresetthecomputeritstilldidntboot”。在处理标点符号和大小写之前,你得先把它断成词语。当然了,你有一本厚厚的词典dictionary,不过,有些词没在词典里。假设文章用senten

weixin_40563850的博客 248

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【每日刷题】Day177

1. 恢复空格 2. 字符串及其反转中是否存在同一子字符串 3. 三角形最小路径和

2301_78022459的博客 991

leetcode 面试题 17.13. 恢复空格

leetcode 面试题 17.13. 恢复空格 题目详情 题目链接 哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!“已经变成了"iresetthecomputeritstilldidntboot”。在处理标点符号和大小写之前,你得先把它断成词语。当然了,你有一本厚厚的词典dictionary,不过,有些词没在词典里。假设文章用sentence表示,设计一个算法,把文章断开,要求未识

qq_33789406的博客 92

LC.面试题 17.13. 恢复空格

LC.面试题 17.13. 恢复空格 思路:Trie+DPTrie+DPTrie+DP。 考虑令前iii个字符的最小未被识别字符数为dp[i]dp[i]dp[i], 我们先以dp[i−1]dp[i-1]dp[i−1]转移一次dp[i]=dp[i−1]+1dp[i]=dp[i-1]+1dp[i]=dp[i−1]+1。即假设s[i]s[i]s[i]没有对应的字典。 然后我们需要在[0,i][0,i][0,i]找到最小的j∈[0,i]→s[j…i]j\in[0,i]\rightarrow s[j\dots i]j

Harris-H的博客 644

Leetcode面试题 17.13. 恢复空格——综合题:字典树+dp+倒序思想

文章目录引入字典树题解 引入 今天终于把面试题 17.13. 恢复空格这道放着好久没做的题给做了,确实做这样一道题要拐很多弯,需要一定量的积累。 题目就暂时不放出来了,拿到这道题的第一反应,我也确实想到了字典树(ps:刚才去翻了翻博客日志,居然没有写过字典树相关的介绍,一会在下文我会写上)。 使用字典树只是题解里面的一个步骤,看到挨个判断字符串的每个字符是否在字典里的时候,我又想到了回溯算法,也就是遍历的时候,对于每一个字符,去判断是否能从这个字符开始,单独形成一个单词。 简单的说,就比如"abcd",字典

No_Game_No_Life_的博客 510

LeetCode 面试题 17.13. 恢复空格 | Python

使用动态规划的思路,解决《面试题 17.13. 恢复空格》问题

"大梦三千秋的博客 966

每日一题算法: 2020年7月9日 面试题 17.13. 恢复空格 respace

2020年7月9日 面试题 17.13. 恢复空格 respace 默认格式: class Solution { public int respace(String[] dictionary, String sentence) { } } 解题思路: 前几天写过一个差不多的,拆分单词。如果只是做判断其实很简单,遍历数组,每个单词去字典里找是否有以该单词开头的,如果有的话就继续,没有的话记录为无法匹配,然后继续算,找出所有的无法匹配的。 实际上,难点是存在于如何控制条件而减少匹配的次数

I12XXXXXLbull的博客 1808

面试题 17.13. 恢复空格 ( dp )

LeetCode: 面试题 17.13. 恢复空格 怎么思考一个题目可不可以用 dp 来解决,先假设 dp 表达含义,再想转移方程,很多时候自然而然就出来了 dp[i] 表示字符串的前 i 个字符的最少未匹配数。 AC Code class Solution { public int respace(String[] dic, String s) { Set<String> set = new HashSet<>(Arrays.asList(dic)

lankerens 304

(34)面试题 17.13. 恢复空格(e)

题目链接: https://leetcode-cn.com/problems/re-space-lcci/ 难度:中等 面试题 17.13. 恢复空格 哦,不!你不小心把一个长篇文章中的空格、标点都删 掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!"已经变成了"iresetthecomputeritstilldidntboot"。 在处理标点符号和大小写之前,你得先把它断成词语。当然 了,你有一本厚厚的词典dictionary,

li_qw_er的博客 275

Leetcode刷题笔记系列——持续更新中

前言 此博文是博主在刷完400多道leetcode题目后开始总结的,因为刷完题目后会很快就忘记,即使遇见相同或类似的仍然无法AC,在此打算将不同类型的题目进行总结,并尽量总结出模板,本系列是按照每日一题,或自己的刷题顺序进行总结,不足之处还望指出。这里只讲当我看到这道题的想法思路,具体的代码讲解不加解释,代码的实现有多种,而且leetcode上有很好的解释。 类型 题目 抽屉原理 Leetcode41 缺失的第一个正数 ...

qq_34116958的博客 1343

leetcode面试题 17.13. 恢复空格

面试题 17.13. 恢复空格 哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!“已经变成了"iresetthecomputeritstilldidntboot”。在处理标点符号和大小写之前,你得先把它断成词语。当然了,你有一本厚厚的词典dictionary,不过,有些词没在词典里。假设文章用sentence表示,设计一个算法,把文章断开,要求未识别的字符最少,返回未识别的字符数。

peony的博客 374
上一篇: (刷题笔记) Leetcode 513. 找树左下角的值
下一篇: (刷题笔记) Leetcode 199. 二叉树的右视图
Lucky&Happy
博客等级 码龄10年 1粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值