判别首字母缩略词(LeetCode日记)

发布时间:2023-12-22 08:48:00

LeetCode-2828-寻找峰值Ⅱ

题目信息:

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

如果可以按顺序串联 w o r d s words words 中每个字符串的第一个字符形成字符串 s s s ,则认为 s s s w o r d s words words 的首字母缩略词。例如,“ a b ab ab” 可以由 [“ a p p l e apple apple”, “ b a n a n a banana banana”] 形成,但是无法从 [“ b e a r bear bear”, “ a a r d v a r k aardvark aardvark”] 形成。

如果 s s s w o r d s words words 的首字母缩略词,返回 t r u e true true ;否则,返回 f a l s e false 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 由小写英文字母组成

题目类型: 字符串

题解

简单题名不虚传。直接遍历即可。如果 s s s w o r d s words words长度不相等,直接返回 f a l s e false false。遍历 s s s,如果 s [ i ] ≠ w o r d s [ i ] [ 0 s[i]≠words[i][0 s[i]=words[i][0],返回 f a l s e false false。遍历完成后,返回 t r u e true true
首先看我自己的代码:

class Solution(object):
    def isAcronym(self, words, s):
        """
        :type words: List[str]
        :type s: str
        :rtype: bool
        """
        len_words= len(words)
        len_s = len(s)
        if len_words!=len_s:
            return False
        for i in range(len_words):
            if words[i][0] != s[i]:
                return False
        return True

然后再看一下LeetCode的官方代码:

class Solution:
    def isAcronym(self, words: List[str], s: str) -> bool:
        return len(words) == len(s) and
               all(words[i][0] == s[i] for i in range(len(s)))

写的真是精简哇。距离成为大佬还有很长的路要走。加油!共勉!

文章来源:https://blog.csdn.net/weixin_52242569/article/details/135103303
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。