[LeetCode 5734. 判断句子是否为全字母句] | 刷题打卡

189 阅读1分钟
  • 掘金团队号上线,助你 Offer 临门! 点击 查看活动详情

本题核心

每天一道简单算法,防止老年痴呆~

题目描述

全字母句 指包含英语字母表中每个字母至少一次的句子。

给你一个仅由小写英文字母组成的字符串 sentence ,请你判断 sentence 是否为 全字母句 。

如果是,返回 true ;否则,返回 false 。

示例 1:

输入:sentence = "thequickbrownfoxjumpsoverthelazydog"
输出:true
解释:sentence 包含英语字母表中每个字母至少一次。

示例 2:

输入:sentence = "leetcode"
输出:false

提示:

  • 1 <= sentence.length <= 1000
  • sentence 由小写英语字母组成

解题思路

姐法1.暴力解,26个字母挨个判断给定字符串是否有,没有就是false. 姐法2.利用Set的特性,Set最后的长度小于26,则不是全字母句

解题代码


public boolean checkIfPangram(String sentence) {
         if (sentence.length() < 26) {
            return false;
        } else {
            String[] az = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"};
            for (String str : az) {
                if (!sentence.contains(str)) {
                    return false;
                }
            }
            return true;
        }
    }

解法2

public boolean checkIfPangram(String sentence) {
        if (sentence.length()<26) {
            return false;
        }
        Set<Character> set = new HashSet<>();
        for (int i = 0; i < sentence.length(); i++) {
            set.add(sentence.charAt(i));
        }

        return set.size() == 26;
    }

##总结

简单算法,对于防止老年痴呆,非常好用👌