LeetCode 每日一题 Day 18 || 简单模拟

2828. 判别首字母缩略词

给你一个字符串数组 words 和一个字符串 s ,请你判断 s 是不是 words 的 首字母缩略词 。

如果可以按顺序串联 words 中每个字符串的第一个字符形成字符串 s ,则认为 s 是 words 的首字母缩略词。例如,“ab” 可以由 [“apple”, “banana”] 形成,但是无法从 [“bear”, “aardvark”] 形成。

如果 s 是 words 的首字母缩略词,返回 true ;否则,返回 false 。

示例 1:

输入:words = [“alice”,“bob”,“charlie”], s = “abc”
输出:true
解释:words 中 “alice”、“bob” 和 “charlie” 的第一个字符分别是 ‘a’、‘b’ 和 ‘c’。因此,s = “abc” 是首字母缩略词。

示例 2:

输入:words = [“an”,“apple”], s = “a”
输出:false
解释:words 中 “an” 和 “apple” 的第一个字符分别是 ‘a’ 和 ‘a’。
串联这些字符形成的首字母缩略词是 “aa” 。
因此,s = “a” 不是首字母缩略词。

示例 3:

输入:words = [“never”,“gonna”,“give”,“up”,“on”,“you”], s = “ngguoy”
输出:true
解释:串联数组 words 中每个字符串的第一个字符,得到字符串 “ngguoy” 。
因此,s = “ngguoy” 是首字母缩略词。

提示:

1 <= words.length <= 100
1 <= words[i].length <= 10
1 <= s.length <= 100
words[i] 和 s 由小写英文字母组成

很显然,如果wordss的长度不等,直接返回false 然后就是如果首字母不同,也返回false:

class Solution
{
public:bool isAcronym(vector<string> &words, string s){// 如果长度不同,直接返回 falseif (words.size() != s.size()){return false;}for (int i = 0; i < words.size(); ++i){// 如果首字母不匹配,返回 falseif (words[i][0] != s[i]){return false;}}return true;}
};

当然也存在优化空间,比手动循环更简洁:

class Solution
{
public:bool isAcronym(const std::vector<std::string>& words, const std::string& s){if (words.size() != s.size()){return false;}return std::equal(words.begin(), words.end(), s.begin(), [](const std::string& word, char c) { return word[0] == c; });//lambda}
};

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

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

相关文章

2024年【北京市安全员-B证】考试试卷及北京市安全员-B证复审模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 北京市安全员-B证考试试卷根据新北京市安全员-B证考试大纲要求&#xff0c;安全生产模拟考试一点通将北京市安全员-B证模拟考试试题进行汇编&#xff0c;组成一套北京市安全员-B证全真模拟考试试题&#xff0c;学员可…

飞天使-k8s知识点3-卸载yum 安装的k8s

要彻底卸载使用yum安装的 Kubernetes 集群&#xff0c;您可以按照以下步骤进行操作&#xff1a; 停止 Kubernetes 服务&#xff1a; sudo systemctl stop kubelet sudo systemctl stop docker 卸载 Kubernetes 组件&#xff1a; sudo yum remove -y kubelet kubeadm kubectl…

深入了解 npm 命令

目录 前言1 初始化项目2 安装依赖3 更新依赖4 发布包5 卸载包6 查看依赖7 运行脚本8 包搜索9 查看包信息结语 前言 在现代 Web 开发中&#xff0c;JavaScript 是一种至关重要的语言&#xff0c;而 npm&#xff08;Node Package Manager&#xff09;作为 Node.js 平台的默认软件…

ChatGPT如何计算token数?

GPT 不是适用于某一门语言的大型语言模型&#xff0c;它适用于几乎所有流行的自然语言。所以 GPT 的 token 需要 兼容 几乎人类的所有自然语言&#xff0c;那意味着 GPT 有一个非常全的 token 词汇表&#xff0c;它能表达出所有人类的自然语言。如何实现这个目的呢&#xff1f;…

Nginx生成自签名证书从而添加域名的HTTPS访问

数字证书 ## 原理参考 https://mysticaldream.github.io/2023/05/certificate/## https://blog.csdn.net/m0_52440465/article/details/130713591 简介 数字证书是由证书颁发机构(CA)签名并颁发的电子文件,用于建立网络连接的身份认证和加密通信。SSL 证书是数字证书的一种。…

SparkSQL读写数据

1.3 SparkSQL读写数据 1.3.1 数据的加载 Sparksql中加载外部的数据&#xff0c;使用统一的API入口&#xff0c; spark.read.format(数据文件格式).load(path) 这个方式有更加清晰的简写方式&#xff0c;比如要加载json格式的文件 spark.read.json(path) 默认加载的文件格式为…

BSWM 模式管理(一) 基本规则

BSWM 模式管理 基本规则 1 BSWM 模式管理2 AUTOSAR BSWM 的两种 operation 模式2.1 deferred opration2.2 immediate opration1 BSWM 模式管理 BSW 模式管理由 4 部分组成: Mode source: 模式仲裁的的触发器,可以由 APP/BSW 模块请求触发Mode Arbitration:当模式源出发的时候…

全球知名的五款JavaScript混淆加密工具详解

​ 现在市场上有很多好用的混淆加密工具&#xff0c;其中一些比较流行且受欢迎的工具包括&#xff1a; 1、UglifyJS&#xff08;罗马尼亚&#xff09;&#xff1a;UglifyJS是一个非常流行的 JavaScript工具库&#xff0c;它可以压缩、混淆、美化和格式化 JavaScript 代码。使用…

线程学习(2)

&#x1f495;"i need your breath"&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;线程学习(2) 前情回顾&#xff1a; 在上一篇博客中介绍到了进程与线程的区别&#xff0c;以及初步了解如何在Java实现多线程编程&#xff0c;通过内置的Thread类来…

Spring接口返回的类型是json格式,里面字段对应base64格式的excel文件

使用场景&#xff1a;需要对前端导入的excel文件中的内容进行验证&#xff0c;如期中有验证失败的信息需要转成excel反馈给前端&#xff0c;用户下载查看信息&#xff0c;并且前端需要获取json返回的状态&#xff0c;给用户提示失败或者成功&#xff0c;所以需要导出json的同时…

创建局域网git裸仓库

创建局域网git裸仓库 不说废话&#xff0c;直接上脚本 #!/bin/bash# 获取脚本所在的目录 script_path"$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"if [ $# -eq 0 ]; thenecho "请提供仓库的名称作为参数。"exit 1 …

Python发送邮件

Python发送邮件 一、概念二、邮件服务器设置三、发送邮件流程3.1 登录邮箱3.2 准备数据3.3 发送邮件 四、实现4.1 发送文本4.2 发送html4.3 发送图片4.4 发送文件 一、概念 SMTP(Simple Mail Transfer Protocol)&#xff0c;即简单邮件传输协议,它是一组用于由源地址到目的地址…

自定义 spring-boot组件自动注入starter

1&#xff1a;创建maven项目 2&#xff1a;pom文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocati…

Jenkins + gitlab 持续集成和持续部署的学习笔记

1. Jenkins 介绍 软件开发生命周期(SLDC, Software Development Life Cycle)&#xff1a;它集合了计划、开发、测试、部署的集合。 软件开发瀑布模型 软件的敏捷开发 1.1 持续集成 持续集成 (Continuous integration 简称 CI): 指的是频繁的将代码集成到主干。 持续集成的流…

全光谱护眼灯哪个牌子好?全光谱备考护眼台灯推荐

什么是全光谱&#xff1f;全光谱指的是光谱中包含紫外光、可见光、红外光的光谱曲线&#xff0c;并且在可见光部分中红绿蓝的比例与阳光近似&#xff0c;显色指数接近于100的光谱。太阳光的光谱可以称作全光谱&#xff0c;太阳光的色温是随着四季和早晚时间变化而变化&#xff…

SD 一次性客户地址如何打开

一次性客户 写入后在哪里看具体数据呢 在转到->抬头->合作伙伴 双击Y0

Ubuntu系统的基础操作和使用

一、Ubuntu系统介绍 1. Ubuntu系统介绍 Ubuntu是一种流行的开源Linux操作系统&#xff0c;它以稳定性和易用性而闻名。由Canonical公司维护&#xff0c;Ubuntu提供了广泛的软件支持和社区参与。 2. Ubuntu与其他Linux发行版区别 2.1 当前的Linux发行版本 当前主要的Linux发…

基于EasyDarwin、ffmpeg实现rtsp推流

目录 1 安装EasyDarwin 2 编译安装ffmpeg 3 启动EasyDarwin 4 ffmepg推流 5 百度网盘备份 某项目中测试时需要用到推流&#xff0c;于是用EasyDarwin、ffmpeg实现了RTSP推流&#xff0c;简单记录下过程&#xff0c; 1 安装EasyDarwin 这个可以去官网下载&#xff1a;Eas…

大模型互相“薅羊毛”背后,行业基本操作,规范化势在必行

最近&#xff0c;字节跳动被曝调用 OpenAI API 接口训练大模型的争议&#xff0c;以及谷歌大模型 Gemini 被曝使用百度文心一言进行中文语料训练等事件&#xff0c;在行业里引发了不小的关注和讨论。 不明真相的网友们一边热情吃瓜&#xff0c;一边也在感叹 AI 大厂之间互相“…

【论文解读】Efficient SAO Coding Algorithm for x265 Encoder

时间&#xff1a;2015年 级别&#xff1a;IEEE 机构&#xff1a;上海交通大学 摘要 x265是一款开源的HEVC编码器&#xff0c;采用了多种优化技术&#xff0c;具有较快的编码速度和优良的编码性能。作为HEVC的一项关键技术&#xff0c;x265还采用了样本自适应偏移(sample adap…