题目链接:https://leetcode-cn.com/problems/shortest-completing-word/

题解汇总:https://leetcode-cn.com/problems/max-increase-to-keep-city-skyline/


题目描述

给你一个字符串 licensePlate 和一个字符串数组 words ,请你找出并返回 words 中的 最短补全词 。

补全词 是一个包含 licensePlate 中所有字母的单词。

在匹配 licensePlate 中的字母时:

忽略 licensePlate 中的 数字和空格 。
不区分大小写。
如果某个字母在 licensePlate 中出现不止一次,那么该字母在补全词中的出现次数应当一致或者更多。
例如:licensePlate = “aBc 12c”,那么它的补全词应当包含字母 ‘a’、‘b’ (忽略大写)和两个 ‘c’ 。可能的 补全词 有 “abccdef”、“caaacab” 以及 “cbca” 。

请你找出并返回 words 中的 最短补全词 。题目数据保证一定存在一个最短补全词。当有多个单词都符合最短补全词的匹配条件时取 words 中 第一个 出现的那个。

示例 1:
输入:licensePlate = “1s3 PSt”, words = [“step”, “steps”, “stripe”, “stepple”]
输出:“steps”
解释:最短补全词应该包括 “s”、“p”、“s”(忽略大小写) 以及 “t”。
“step” 包含 “t”、“p”,但只包含一个 “s”,所以它不符合条件。
“steps” 包含 “t”、“p” 和两个 “s”。
“stripe” 缺一个 “s”。
“stepple” 缺一个 “s”。
因此,“steps” 是唯一一个包含所有字母的单词,也是本例的答案。

示例 2:
输入:licensePlate = “1s3 456”, words = [“looks”, “pest”, “stew”, “show”]
输出:“pest”
解释:licensePlate 只包含字母 “s” 。所有的单词都包含字母 “s” ,其中 “pest”、“stew”、和 “show” 三者最短。答案是 “pest” ,因为它是三个单词中在 words 里最靠前的那个。

示例 3:
输入:licensePlate = “Ah71752”, words = [“suggest”,“letter”,“of”,“husband”,“easy”,“education”,“drug”,“prevent”,“writer”,“old”]
输出:“husband”

示例 4:
输入:licensePlate = “OgEu755”, words = [“enough”,“these”,“play”,“wide”,“wonder”,“box”,“arrive”,“money”,“tax”,“thus”]
输出:“enough”

示例 5:
输入:licensePlate = “iMSlpe4”, words = [“claim”,“consumer”,“student”,“camera”,“public”,“never”,“wonder”,“simple”,“thought”,“use”]
输出:“simple”


简单的模拟, 用hashmap记录次数,比较即可

class Solution {public:string shortestCompletingWord(string licensePlate, vector<string>& words) {int resLen = 0x3fffffff;string res;unordered_map<char, int>sourse, target;for (auto i : licensePlate) {if (isalpha(i)) {sourse[tolower(i)]++;}}for (auto s : words) {target.clear();for (int i = 0; i < s.size(); i++) {target[s[i]]++;}for (auto u : sourse) {if (u.second > target[u.first]) goto loop;}if (s.size() < resLen) {resLen = s.size();res = s;}loop:;}return res;}
};

【解题报告】Leecode 748. 最短补全词——Leecode每日一题系列相关推荐

  1. 748. 最短补全词( Shortest Completing Word) 3ms做法心得

    做法大致就是将每个字符对应的ASCII码-'a'后存进数组,然后对照两个数组来求最优解. import java.util.Locale;//748. 最短补全词 public class Short ...

  2. Leetcode 748 最短补全词

    题目 给你一个字符串 licensePlate 和一个字符串数组 words ,请你找出并返回 words 中的 最短补全词 . 补全词 是一个包含 licensePlate 中所有的字母的单词.在所 ...

  3. leetCode最短补全词

    leetCode最短补全词 题目要求如下: 给你一个字符串 licensePlate 和一个字符串数组 words ,请你找出并返回 words 中的 最短补全词 . 补全词 是一个包含 licens ...

  4. 【算法千题案例】每日LeetCode打卡——92.最短补全词

  5. 【解题报告】博弈专场(CF2200~2400)后五题

    [解题报告]博弈专场(CF2200~2400)后五题 F:Arpa and a game with Mojtaba | CF850C 题意 思路 代码 G:Tokitsukaze and Duel | ...

  6. 【解题报告】Leecode 438. 找到字符串中所有字母异位词——Leecode每日一题系列

    今天是坚持每日一题打卡的第二十七天 题目链接:https://leetcode-cn.com/problems/find-all-anagrams-in-a-string/ 题解汇总:https:// ...

  7. 【洛谷新手村解题报告三 字符串/递归前】C++语言,一题多解,思路和WA反思

    [洛谷新手村解题报告三] 简单字符串 过程函数与递归 首先下一部分!字符串,这个前面两题新手跳过吧 简单字符串 第三题 统计单词数 [2/2] 给定一个单词,请你输出它在给定的文章中出现的次数和第一次 ...

  8. 【解题报告】Leecode 372. 超级次方——Leecode每日一题系列

    题目链接:https://leetcode-cn.com/problems/super-pow/ 题解汇总:https://leetcode-cn.com/problems/max-increase- ...

  9. 【解题报告】Leecode 807. 保持城市天际线——Leecode每日刷题系列

    题目链接:https://leetcode-cn.com/problems/max-increase-to-keep-city-skyline/ 题解汇总:https://leetcode-cn.co ...

最新文章

  1. python下selenium模拟浏览器常见操作
  2. Spring OXM-XStream流化对象
  3. 我的web聊天之---序章
  4. oracle中数据导入导出问题
  5. [转载] $CF290F$ 题解
  6. 51单片机配合超声波测距以及用1602液晶进行显示
  7. 《3D数学基础》1.9 向量空间
  8. 小米球Ngrok内网穿透教程
  9. 2022下半年软考冲刺,这些资料就是45分通关密码
  10. 小米6通话音量补丁_手机通话声音小?只需打开这个开关,音量更大更清晰
  11. 关于 ADXL362 传感器不工作的说明
  12. 3dmax如何建模(二)
  13. windows 清除IE浏览器缓存的脚本
  14. 为什么面向对象糟透了?
  15. SAE使用以及GPS 的经纬度换算成距离的代码(转载)
  16. 日本标点符号的输入总结
  17. python往npy写入数据_操作python实现npy格式文件转换为txt文件
  18. Java若伊是啥_java运行环境和运行机制
  19. Vue移动端H5生成二维码功能(qrcodejs2)
  20. 使用手机hexo搭建博客

热门文章

  1. SQLServer附加数据库提示“版本为661,无法打开,支持655版本……”
  2. 集线器(Hub)、交换机(Switch)与路由器(Router)之间的区别和联系
  3. 建议收藏 | 全面解析 50+条 SQL 语句性能优化策略
  4. [八]RabbitMQ-客户端源码之ChannelN
  5. Django模版(二)
  6. Python中的文件操作和异常
  7. 腾讯视频云黄斌:打造toB的产品与运营体系
  8. 腾讯关系型数据库达成“双百”里程碑——6大企业级MySQL特性全面解析
  9. 「递归」第8集 | 当敲代码的手开始写歌,玩跨界的程序员有多野?
  10. 当你不知道发什么表情包的时候...