LeetCode算法题-Shortest Completing Word(Java实现)

最新推荐-2026年固态电池+锂电正极+硅基负极等关键技术实践PPT合集(55份).zip 2026年最新固态电池+锂电正极+硅基负极等关键技术实践PPT合集,共55份。供大家查阅。 一、固态电池 1.全固态电池用硅基负极材料研究进展 2.全固态电池硅基负极的开发思考 3.功能型固态电解质设计及界面调控 4.固态电池及关键材料研发与产业化进展 5.固态电池的产业化应用探索 6.固态锂电池开发现状及未来展望 7.固态锂离子电池正极结构设计与材料选择 8.固态锂金属电池设计与应用 9.硫化物全固态电池石墨和硅负极性能调控技术 10.硫化物固态电解质行业应用 11.聚合物基固态电解质与固态电池的关键技术 12.蜂鸟声共振技术-固态电池产业化的革命性创新 13.长安汽车固态电池应用探索 14.高安全性固态电池技术发展趋势 15.高性能硫化物全固态锂电池解决方案 16.高硅体系的膨胀解决方案 二、硅基负极 1.化学气相沉积碳包覆技术在硅基负极材料中的应用 2.新型粘结剂解决 硅基负极膨胀问题 3.氧化亚硅负极材料化学预锂化与界面设计 4.流化床法生产磷酸铁锂及硅负极材料研究 5.石墨烯包覆硅碳负极 6.硅基材料的发展现状及展望 7.硅基负极与固态电解质 8.硅基负极技术与进展 9.硅基负极材料体积膨胀解决策略 10.硅基负极材料及其结构设计 11.硅基负极材料的冶金法制备 12.硅基负极材料的发展与应用 13.硅基负极材料研究进展 14.硅基负极材料:从基础研究到产业应用 15.硅基负极析锂行为及调制研究 16.硅碳负极低成本制造技术报告 17.硅碳负极制备用多孔碳的开发 18.硅碳负极挑战和进展 19.硅碳负极新路线及关键材料制备 20.硅碳负极锂离子电池应力特性研究 21.锂电石墨负极材料工程化技术进步 22.锂离子电池负极材料 23.高容量石墨烯-硅基复合负极材料的研究进展 三、锂电正极 1.基于AI和图论结构化学的锂电池的材料基因探索 2.废旧磷酸铁锂电池梯次及再生利用进展 3.电动汽车大功率充电标准体系与检测认证实践 4.磷酸铁及磷酸铁锂异物防控管理 5.磷酸铁锂正极材料:液相法合成及产业化应用研究 6.磷酸锰铁锂正极材料的研究现状 7.车用动力电池安全标准化工作进展及未来展望 8.锂电层状氧化物正极材料的原子尺度失效机制 9.锂电正极材料工厂异物防控管理图册 10.锂离子电池高熵正极材料成分设计及储锂机制研究 11.高压实磷酸铁锂正极材料生产工艺配方.docx 12.高安全正极材料添加剂提升三元锂电安全性 13.高比能富锂锰基电池关键技术 14.高能量密度锂离子电池正极材料及应用研究 15.高镍单晶三元正极材料研究 16.三元高电压单晶正极材料 立即下载

这是悦乐书的第309次更新,第330篇原创

01 看题和准备

今天介绍的是LeetCode算法题中Easy级别的第178题(顺位题号是748)。从给定的字典单词中查找最小长度单词,其中包含字符串licensePlate中的所有字母。据说这样的单词可以完成给定的字符串licensePlate。在这里,对于字母我们忽略大小写。例如,licensePlate上的“P”仍与单词上的“p”匹配。答案肯定存在。如果有多个答案,则返回数组中首先出现的答案。licensePlate可能会多次出现相同的字母。例如,给定licensePlate为“PP”,单词“pair”不会完成licensePlate,但单词“supper”会完成。例如:

输入:licensePlate =“1s3 PSt”,words = [“step”,“steps”,“stripe”,“stepple”]

输出:“steps”

说明:包含字母“S”,“P”,“S”和“T”的最小长度字。请注意,答案不是“step”,因为字母“s”必须出现在单词中两次。另请注意,为了比较单词中是否存在字母,我们忽略了大小写。


输入:licensePlate =“1s3 456”,words = [“look”,“pest”,“stew”,“show”]

输出:“pest”

说明:有3个最小长度的单词,包含字母“s”。我们返回先出现的那个。


注意:

  • licensePlate将是一个长度在[1,7]范围内的字符串。

  • licensePlate将包含数字,空格或字母(大写或小写)。

  • 数组的长度范围为[10,1000]。

  • 每个words[i]将由小写字母组成,并且长度在[1,15]范围内。

本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。

02 第一种解法

给定的licensePlate中包含数字、空格或大写字母,而比较时是忽略大小写的,所以我们先将licensePlate中的字母抽出来,并且将里面的大写字母转为小写,变成一个新的字符串。然后开始遍历words数组,比较数组的当前元素和前面得到的新字符串的关系,判断此单词是否能够由新字符串组成,在此将判断的方法独立处理,判断的方法是借助容量为26的整数数组,新字符串中有的字母,此单词中必须要有,否则就返回false。

public String shortestCompletingWord(String licensePlate, String[] words) {
    String s = "";
    for (char ch : licensePlate.toCharArray()) {
        if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
            s += ch;
        }
    }
    s = s.toLowerCase();
    String res = "";
    for (String str : words) {
        if ((res.isEmpty() || res.length() > str.length()) && isContains(s, str)) {
            res = str;
        }
    }
    return res;
}

/**
 * 判断此单词是否全部包含新字符串中的字母
 * @param s licensePlate中英文字母组成的字符串
 * @param s2 words中的每个单词
 * @return
 */
public boolean isContains(String s, String s2) {
    int[] arr = new int[26];
    // 将单词中的字母出现次数记数
    for (char ch : s2.toCharArray()) {
        arr[ch-'a']++;
    }
    for (char ch : s.toCharArray()) {
        // 新字符串中的当前字母在单词中不存在
        if (arr[ch-'a'] == 0) {
            return false;
        }
        arr[ch-'a']--;
    }
    return true;
}

03 第二种解法

我们也可以将辅助方法融合到主方法中去。依旧是先将licensePlate里的字母抽出来,存入一个容量26的数组中,此处多使用了一个变量来记录新字符串中字母的总数量。然后开始循环处理words中的元素,每次循环都需要将数组和总数量复制一份,然后去做判断,判断的逻辑和上面第一种解法的思路类似。

public String shortestCompletingWord2(String licensePlate, String[] words) {
    int[] arr = new int[26];
    int count = 0;
    for (char ch : licensePlate.toCharArray()) {
        if (ch >= 'a' && ch <= 'z') {
            arr[ch-'a']++;
            count++;
        } else if(ch >= 'A' && ch <= 'Z') {
            arr[ch-'A']++;
            count++;
        }
    }
    String result = "";
    for (String str : words) {
        int temp = count;
        int[] copy = arr.clone();
        for (char ch : str.toCharArray()) {
            if (--copy[ch-'a'] >= 0) {
                temp--;
            }
        }
        if (temp == 0 && (result.isEmpty() || result.length() > str.length())) {
            result = str;
        }
    }
    return result;
}

04 小结

算法专题目前已日更超过五个月,算法题文章178+篇,公众号对话框回复【数据结构与算法】、【算法】、【数据结构】中的任一关键词,获取系列文章合集。

以上就是全部内容,如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、转发就是对我最大的回报和支持!

STM32 ADC精准采集12V电池电压:从分压电路到软件校准全解析 本文详细解析了STM32 ADC精准采集12V电池电压的全过程,涵盖分压电路设计、电阻选型、ADC配置优化及软件校准方法。针对电池电压监测中的噪声、温漂等挑战,提供了硬件滤波与软件过采样等实战技巧,确保测量精度达到1%以内,满足嵌入式设备对电源管理的严苛要求。 阅读详情

相关推荐

某音播放量查询,播放量接口研究,最新版本抓包,修改SO文件绕过SSL

本教程适用于某音27.8,64位版本,32为版本及某音旁侧版本修改方法大同小异,部分旁侧版本修改之后模拟器可能无法抓包,真机测试均可正常抓包,此方法修改后绝大部分包可以正常抓取,但部分包无法抓取,例如验证码,内置浏览器功能,如需抓取此类包可通过 Postern + Charles 实现。

byalipus的博客 1万+

逻辑算法题Java_LeetCode算法题-Shortest Completing Word(Java实现)

这是悦乐书的第309次更新,第330篇原创01 看题和准备今天介绍的是LeetCode算法题中Easy级别的第178题(顺位题号是748)。从给定的字典单词中查找最小长度单词,其中包含字符串licensePlate中的所有字母。据说这样的单词可以完成给定的字符串licensePlate。在这里,对于字母我们忽略大小写。例如,licensePlate上的“P”仍与单词上的“p”匹配。答案肯定存在。如...

weixin_39752352的博客 157

【学习笔记-QGIS】 QGIS从零快速上手

安装文章参考:https://zhuanlan.zhihu.com/p/370633306。

Xcong_Zhu的博客 1万+

LeetCode 748. Shortest Completing Word【哈希表】简单

Given a string licensePlate and an array of strings words , find the shortest completing word in words . A completing word is a word that contains all the letters in licensePlate . Ignore numbers and spaces in licensePlate , and treat letters as case insen

memcpy0的博客 478

CPU进程调度算法【FCFS、SJF、优先级、RR、多级队列、多级反馈队列调度】

目录 一、先到先服务调度: 二、最短作业优先调度: 三、优先级调度: 四、轮转调度: 五、多级队列调度: 六、多级反馈队列调度: CPU调度算法处理的问题是:从就绪队列中选择进程以便为其分配CPU。 一、先到先服务调度: First Come,First Served(FCFS) 定义:先请求CPU的进程首先分配到CPU。FCFS策略可以通过FIFO队列轻松实现。 护航效果:其他所有进程会等待一个大进程释放CPU 非抢占式:一旦CPU分配给了一个进程,该进程就会使用CPU知道释.

马小超 3922

实战教程:用YOLOv11+PyQt5打造工地安全帽检测系统(附完整数据集)

本文提供了一份完整的实战指南,详细介绍了如何利用YOLOv11目标检测模型与PyQt5界面库,从零开始构建一个智能工地安全帽检测桌面应用。内容涵盖高质量数据集的准备与标注、YOLOv11模型训练与调优,以及如何使用PyQt5开发流畅、专业的图形用户界面,最终实现一个可实际部署的AI安全监控系统。

plum99的博客 738

LeetCode-HashMap-748.Shortest Completing Word

本打算LeetCode一刷结束后,借阅大神的答案二刷再处理文博文,但这道题提交了5次才对,期间有不少粗心的地方,写出来长点记性。 1. 题干: https://leetcode.com/problems/shortest-completing-word/description/ 给出一系列单词(String[] words),以及一个参照(letter)。找出一个最短的单词,该单词包含参...

王某的博客 426

DMA engine initialization failed rk3568的原因及解决方案

刚开始调试 switch 芯片的时候由于rgmii 时钟是output , rk3568的 GMAC 需要 switch 芯片提供 125M的时钟,如果没有这个时钟就会初始化失败,进入文件系统后 ethx 不会出现(当然,如果屏蔽掉这里ethx 会出现,但是引发更多的问题,笔者在这块耍小聪明,导致耗费了近一个月时间,把网络这块整个查了一遍 -----)dma 软复位是在进入文件系统后,网络系统启动的时候,我想如果在这个之前只要提供合适的时钟那么就是可以的,那么------以上是官方的文档说明。

Nyiragongo的博客 4577

[leetcode]748. Shortest Completing Word

[leetcode]748. Shortest Completing Word Analysis 想把拖鞋塞到某男生嘴里!!!—— [生气气] Find the minimum length word from a given dictionary words, which has all the letters from the string licensePlate. Su...

weixin_32135877的博客 282

RK AVS双目融合记录

NOTE] 调试平台双目avs融合调试,需要先保证两个摄像头能正常出图同时出流。使用默认工具测试vi->avs->venc通路是否正常,-a可指定isp效果文件需要开启CONFIG_VIDEO_ROCKCHIP_AVSP和CONFIG_VIDEO_ROCKCHIP_FEC,dts中使能。

mangofu的博客 106

3、深入了解响应式扩展(Reactive Extensions)

本文深入探讨了响应式扩展(Reactive Extensions,Rx)的起源、核心概念及其在客户端和服务器端的应用。从Volta项目谈起,解析了Rx如何解决事件传输问题,并介绍了可观察对象(IObservable)和观察者(IObserver)的设计与实现机制。文章还详细讲解了Rx操作符、弹珠图的使用、拉模型与推模型的对偶性原理,并通过代码示例展示了如何将枚举转换为可观察对象。最后总结了Rx的优势,并展望其在未来软件开发中的广泛应用前景。

m2n3b4v5c6的博客 113

【Leetcode】748. Shortest Completing Word

题目地址: https://leetcode.com/problems/shortest-completing-word/ 给定一个长nnn的字符串sss和一个英文小写单词数组AAA,找到AAA中最短的包含了sss中所有英文字母的子串(不区分大小写,但次数要考虑)。如果有若干个长度相同的答案,则返回第一个出现的。 代码如下: public class Solution { public String shortestCompletingWord(String licensePlate, String

数学、算法爱好者的博客 169

一根同轴线,真的扛得住 4K 吗? ——从摄像头带宽算起,聊透车载 SerDes 接口选型

如果你记住这三句话,这篇文章就值了:🎯摄像头带宽 = 分辨率 × 位深 × fps × 开销4K RAW 摄像头 ≈ 3.7Gbps,是现实不是理论SerDes 选型,宁可多留 20%,不要刚刚好。

weixin_43199439的博客 193

[LeetCode] 748. Shortest Completing Word

748. Shortest Completing Word Find the minimum length word from a given dictionary words, which has all the letters from the string licensePlate. Such a word is said to complete the given string lice...

carbon06的博客 372

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

leetcode 748. Shortest Completing Word

写的及其丑陋的代码 class Solution { public String shortestCompletingWord(String licensePlate, String[] words) { licensePlate = licensePlate.toLowerCase(); int[] arr = new int[26]; f...

xiaobailaji的博客 121

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

(Easy) Shortest Completing Word - LeetCode

Description: Find the minimum length word from a given dictionary words, which has all the letters from the string licensePlate. Such a word is said to complete the given string licensePlate ...

weixin_30247159的博客 148

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

Leetcode 245 Shortest Word Distance III

思路: 这道题其实就是243的小小变形,多了一种情况:word1 = word2而已。我自己的想法是把这种情况单独列出,觉得这样会比较清楚。答案是写在一起的,其实相比concise code,我更倾向short code,看起来比较厉害一点,而且我觉得能将两种情况放在一个循环里写出来,对于逻辑层面的理解来说会更加深入,是一种更深入理解的体现。我自己的思路我没有实现,因为我觉得很简单,下面展示答案代码: class Solution { public int shortestWordDistance.

GoodJobJasper的博客 158

LeetCode-Shortest Completing Word

LeetCode Java Shortest Completing Word

坟头草一米七五 209

[leetcode]748. Shortest Completing Word能覆盖车牌最短单词

Find the minimum length word from a given dictionarywords, which has all the letters from the stringlicensePlate. Such a word is said tocompletethe given stringlicensePlate Here, for letters we ...

weixin_30273175的博客 115

LeetCode Shortest Word Distance II

LeetCode Shortest Word Distance II题目思路跟上一题一样,但是在这题的背景下,求最短距离的函数将会被调用多次。因此我们可以先把字符串的每个位置都记录下来,这样找最短距离的时候就好很多。而且,记录位置的时候都是有序的,这样,在求最短距离的时候就类似于归并排序,只需要O(n+m)的时间复杂度即可,其中n为word1的位置数量,m为word2的位置数量。那为什么不直接用一个

Nightonke's Blog 711

[leetcode] 244. Shortest Word Distance II 解题报告

题目链接: https://leetcode.com/problems/shortest-word-distance-ii/ This is a follow up of Shortest Word Distance. The only difference is now you are given the list of words and your method will be

小榕流光的专栏 3045

[LeetCode]Shortest Word Distance II

public class WordDistance { private HashMap<String, List<Integer>> map = new HashMap<String, List<Integer>>(); public WordDistance(String[] words) { f...

145

【Leetcode】243. Shortest Word Distance

给定一个字符串列表,再给定其中的两个字符串,题目保证两个字符串不等。求这两个字符串在列表里出现的位置的最小下标差(也就是说列表里可能包含给定的字符串多次,要寻找下标差最小的两个)。之间肯定不会出现那两个字符串的任意一个(否则就能得到更短的距离)。而算法是可以取到这两个位置的,所以算法正确。的时候更新指针,同时更新得到的最短距离。假设两个字符串达到最短距离时出现的位置是。开两个指针,同时遍历数组,当遇到。为列表里字符串个数,为最长字符串长度)。

数学、算法爱好者的博客 294

【LeetCode】244.Shortest Word Distance II(Medium)解题报告

【LeetCode】244.Shortest Word Distance II(Medium)解题报告 题目地址:https://leetcode.com/problems/shortest-word-distance-ii/ 题目描述:   his is a follow up of Shortest Word Distance. The only difference is now

郝春雨的博客 639

LeetCode 244. Shortest Word Distance II(最短单词距离)

原题网址:https://leetcode.com/problems/shortest-word-distance-ii/ This is a follow up of Shortest Word Distance. The only difference is now you are given the list of words and your method will be c

James Pan 1191

Leetcode Shortest Word Distance

Given a list of words and two words word1 and word2, return the shortest distance between these two words in the list. For example, Assume that words = ["practice", "makes", "perfect", "coding", "

每天都要有进步 287
上一篇: LeetCode算法题-Largest Number At Least Twice of Others(Java实现)
下一篇: LeetCode算法题-Reach a Number(Java实现)
程序员小川
博客等级 码龄10年 47粉丝 305原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值