LeetCode 748. 最短完整词

1. 题目

如果单词列表(words)中的一个单词包含牌照(licensePlate)中所有的字母,那么我们称之为完整词。
在所有完整词中,最短的单词我们称之为最短完整词。

单词在匹配牌照中的字母时不区分大小写,比如牌照中的 “P” 依然可以匹配单词中的 “p” 字母。

我们保证一定存在一个最短完整词。
当有多个单词都符合最短完整词的匹配条件时取单词列表中最靠前的一个。

牌照中可能包含多个相同的字符,比如说:对于牌照 “PP”,单词 “pair” 无法匹配,但是 “supper” 可以匹配。

示例 1:
输入:licensePlate = "1s3 PSt", 
words = ["step", "steps", "stripe", "stepple"]
输出:"steps"
说明:最短完整词应该包括 "s""p""s" 以及 "t"。
对于 "step" 它只包含一个 "s" 所以它不符合条件。
同时在匹配过程中我们忽略牌照中的大小写。示例 2:
输入:licensePlate = "1s3 456", 
words = ["looks", "pest", "stew", "show"]
输出:"pest"
说明:存在 3 个包含字母 "s" 且有着最短长度的完整词,
但我们返回最先出现的完整词。注意:
牌照(licensePlate)的长度在区域[1, 7]中。
牌照(licensePlate)将会包含数字、空格、或者字母(大写和小写)。
单词列表(words)长度在区间 [10, 1000] 中。
每一个单词 words[i] 都是小写,并且长度在区间 [1, 15] 中。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/shortest-completing-word
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Solution {
public:string shortestCompletingWord(string licensePlate, vector<string>& words) {unordered_map<char,int> m;for(char c : licensePlate)if(isalpha(c))m[tolower(c)]++;//字符计数unordered_map<char,int> wc;int minLen = INT_MAX;bool flag;string ans;for(string word : words){wc.clear();flag = true;for(char c : word)if(isalpha(c))wc[c]++;//单词字符计数for(auto lpChar : m){if(wc.find(lpChar.first) == wc.end() || wc[lpChar.first] < lpChar.second){	//单词中没有这个牌照字符,或者不够flag = false;break;}}if(flag){if(word.size() < minLen){minLen = word.size();ans = word;}}}return ans;}
};

48 ms 15 MB

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

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

相关文章

单反录像按钮在哪_单反与微单到底哪不同

数码相机发展到现在从卡片相机到单反相机然后到微单相机&#xff0c;而单反相机和微单相机都是比较专业的数码相机&#xff0c;具有很好的操作性能&#xff0c;那么单反与微单的区别到底在哪或是单反与微单到底哪不同呢&#xff1f;接下来我们就来看看。单反和微单主要的区别就…

(十四)【RecSys 2016】Personalized Recommendations using Knowledge Graphs: A Probabilistic【看不懂】

题目&#xff1a; Personalized Recommendations using Knowledge Graphs: A Probabilistic Logic Programming Approach&#xff08;一种概率逻辑编程方法&#xff09; 论文链接&#xff1a; 代码&#xff1a; 想法 &#xff08;1&#xff09;推荐系统就是求出user和item的特…

Flash 杂志《summer tree》 第六期发布

经过几天的排版&#xff0c;Summer Tree 第六期出来了&#xff0c;在这里感谢Anson和Star的帮助。 封面拿了一张底贴上去&#xff0c;基本上无点ps &#xff0c;实在无什么美感可言。暂时忍耐一下。 Anson的博客&#xff1a;http://blog.csdn.net/kongweian 下载地址&#xff1…

利用瑞利里兹方法计算固有频率的程序_不可不知的电机磁致伸缩计算方法

磁致伸缩是指电机硅钢片铁芯在交变磁场的作用下&#xff0c;发生微小的尺寸变化的现象&#xff0c;磁致伸缩使铁心随励磁频率的变化做周期性振动。本文主要研究磁致伸缩力和麦克斯韦力对电机振动噪声的贡献&#xff0c;从而对电机的振动噪声控制提供依据。分析必要性电机的振动…

LeetCode 917. 仅仅反转字母

1. 题目 给定一个字符串 S&#xff0c;返回 “反转后的” 字符串&#xff0c;其中不是字母的字符都保留在原地&#xff0c;而所有字母的位置发生反转。 示例 1&#xff1a; 输入&#xff1a;"ab-cd" 输出&#xff1a;"dc-ba"示例 2&#xff1a; 输入&…

oracle table 函数使用

PL/SQL表---table()函数用法 /*PL/SQL表---table()函数用法&#xff1a;利用table()函数&#xff0c;我们可以将PL/SQL返回的结果集代替table。oracle内存表在查询和报表的时候用的比较多&#xff0c;它的速度相对物理表要快几十倍。simple example&#xff1a;1、table()结合数…

64位进程隐藏不蓝屏_浅析Linux 64位系统虚拟地址和物理地址的映射及验证方法...

前言有好久没更新了&#xff0c;这段时间发生了挺多大喜事哈。但是也还是有挺久没更新了&#xff0c;不得不意识到自己是个小菜鸡&#xff0c;就算是小菜鸡也要做一只快乐小菜鸡。就算更新慢但是我依然会持续更新&#xff0c;因为更文使我快乐。虚拟内存先简单介绍一下操作系统…

知识图谱论文阅读(十五)【arxiv】A Survey on Knowledge Graph-Based Recommender Systems

论文题目&#xff1a; A Survey on Knowledge Graph-Based Recommender Systems 论文链接&#xff1a; 论文代码&#xff1a; 想法 出现Refine就是用某些方法更好的优化特征表示embed的意思就是变成低维向量&#xff01; 论文 摘要 难点&#xff1a; 当今推荐系统的难点 &…

LeetCode 921. 使括号有效的最少添加(栈)

1. 题目 给定一个由 ( 和 ) 括号组成的字符串 S&#xff0c;我们需要添加最少的括号&#xff08; ( 或是 )&#xff0c;可以在任何位置&#xff09;&#xff0c;以使得到的括号字符串有效。 从形式上讲&#xff0c;只有满足下面几点之一&#xff0c;括号字符串才是有效的&…

Shlwapi介绍

Windows中有一个Shlwapi.dll文件&#xff0c;包含了大量的Windows字符串处理方法&#xff0c;这些方法&#xff0c;在通常的程序应用中&#xff0c;经常会用到&#xff0c;有一部分处理方法&#xff0c;在CRuntime中也存在&#xff0c;但不方便使用。有一部分函数&#xff0c;也…

java权限框架_Java高级工程师必备技术栈-由浅入深掌握Shiro权限框架

权限系统在任何一个系统中都存在&#xff0c;随着分布式系统的大行其道&#xff0c;权限系统也趋向服务化&#xff0c;对于一个高级工程师来说&#xff0c;权限系统的设计是必不可少需要掌握的技术栈Apache Shiro™是一个功能强大且易于使用的Java安全框架&#xff0c;用于执行…

【RippleNet】(一)preprocessor.py【未完】

首先读入的文件有movie和book和news三种&#xff0c;肯定会选择一种进行解析&#xff01; 下面我们以movies作为样例分析&#xff1a; 本论文中使用的数据集是movie-1m ratings.dat&#xff1a; 分别是用户&#xff1a;&#xff1a;电影&#xff1a;&#xff1a;评分&#xff…

LeetCode 961. 重复 N 次的元素

1. 题目 在大小为 2N 的数组 A 中有 N1 个不同的元素&#xff0c;其中有一个元素重复了 N 次。 返回重复了 N 次的那个元素。 示例 1&#xff1a; 输入&#xff1a;[1,2,3,3] 输出&#xff1a;3示例 2&#xff1a; 输入&#xff1a;[2,1,2,5,3,2] 输出&#xff1a;2示例 3&a…

日照华软游戏开发价格_开发区将是未来刚需人群的首选!

开发区真的只是备胎吗?想必在日照人的心目中一定有一张区域排行榜&#xff0c;而排在榜首的一定是东城片区&#xff0c;这是无可厚非的&#xff0c;毕竟东城片区的各项资源是全市其他区域无法抗衡的&#xff0c;然后西城片区、山海天片区、石臼片区……紧随其后&#xff0c;而…

知识图谱论文阅读(十六)【WWW2019】Knowledge Graph Convolutional Networks for Recommender

题目&#xff1a; KGCN 论文链接&#xff1a; 代码链接&#xff1a;https://github.com/hwwang55/KGCN 想法 高阶的意思就是multi-hop的意思注意是从外向里聚合的&#xff0c;第h-1跳是外侧&#xff0c;第h跳是里侧&#xff01; 所以才有聚合邻居和本身之说 创新 摘要 为了…

LeetCode 925. 长按键入(双指针)

1. 题目 你的朋友正在使用键盘输入他的名字 name。 偶尔&#xff0c;在键入字符 c 时&#xff0c;按键可能会被长按&#xff0c;而字符可能被输入 1 次或多次。 你将会检查键盘输入的字符 typed。 如果它对应的可能是你的朋友的名字&#xff08;其中一些字符可能被长按&#…

java 拉取收件箱邮件源码_邮件提醒系统:新邮件识别

最近在做邮件提醒抄送企业微信消息系统&#xff0c;就目前而言&#xff0c;无论是pop3还是imap都没有一个好的方法只接收新邮件&#xff0c;基本只能依靠收件箱列表message自行判断&#xff0c;下面给出几种思路并作对比。//收件箱 folder store.getFolder("INBOX")…

Jquery 操作select总结

//遍历option和添加、移除optionfunction changeShipMethod(shipping){var len $("select[nameISHIPTYPE] option").lengthif(shipping.value ! "CA"){$("select[nameISHIPTYPE] option").each(function(){if($(this).val() 111){$(this).remo…

知识图谱论文阅读(十七)【WWW2021】DGCN: Diversified Recommendation with Graph Convolutional Networks

本论文是很明显是基于KGCN的&#xff01; 如果不懂KGCN&#xff0c;可以看我上一篇博文 论文题目&#xff1a; DGCN: Diversified Recommendation with Graph Convolutional Networks 论文链接&#xff1a; 论文代码&#xff1a; https://github.com/tsinghua-fib-lab/DGCN 想…

PKU-3624

代码 //0-1背包问题 如果不使用循环数组&#xff0c;空间越界。#include <stdio.h>intmain(){ intn, v, i, j; intw[3403], p[3403]; intf[12881]; scanf("%d %d", &n, &v); for(i 1; i <n; i) scanf("%d %d", &a…