闯关leetcode——3136. Valid Word

大纲

题目

地址

https://leetcode.com/problems/valid-word/description/

内容

A word is considered valid if:

  • It contains a minimum of 3 characters.
  • It contains only digits (0-9), and English letters (uppercase and lowercase).
  • It includes at least one vowel.
  • It includes at least one consonant.

You are given a string word.

Return true if word is valid, otherwise, return false.

Notes:

  • 'a', 'e', 'i', 'o', 'u', and their uppercases are vowels.
  • A consonant is an English letter that is not a vowel.

Example 1:

Input: word = "234Adas"

Output: true

Explanation:

This word satisfies the conditions.

Example 2:

Input: word = "b3"

Output: false

Explanation:

The length of this word is fewer than 3, and does not have a vowel.

Example 3:

Input: word = "a3 e " O u t p u t : f a l s e E x p l a n a t i o n : T h i s w o r d c o n t a i n s a ′ e" Output: false Explanation: This word contains a ' e"Output:falseExplanation:Thiswordcontainsa′' character and does not have a consonant.

Constraints:

  • 1 <= word.length <= 20
  • word consists of English uppercase and lowercase letters, digits, '@', '#', and '$'.

解题

这题要检测一个数是否符合以下特点:

  • 至少包含3个字符
  • 只能包含大小写字母和数字
  • 至少有一个a、e、i、o、u大写或小写的字母
  • 至少包含一个非a、e、i、o、u大写或小写的字母

解法也很简单,按这些条件把规则写好即可。

cpp 复制代码
#include <string>
using namespace std;

class Solution {
public:
    bool isValid(string word) {
        if (word.size() < 3) {
            return false;
        }
        bool vowel = false;
        bool consonant = false;
        for (char c : word) {
            if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u'
            || c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U') {
                vowel = true;
            } else if ( (c >= 'a' && c <= 'z')
                || (c >= 'A' && c <= 'Z'))
            {
                consonant = true;
            } 
            else if (c >= '0' && c <= '9') {
                continue;
            }
            else {
                return false;
            }
        }
        return vowel && consonant;
    }
};

代码地址

https://github.com/f304646673/leetcode/tree/main/3136-Valid-Word/cplusplus

相关推荐
初圣魔门首席弟子6 分钟前
flag使用错误出现bug
c++·bug
Mr_WangAndy43 分钟前
C++设计模式_创建型模式_原型模式Prototype
c++·设计模式·原型模式
奔跑吧邓邓子1 小时前
【C++实战㊷】C++ 原型模式实战:从概念到高效应用
c++·实战·原型模式
奔跑吧邓邓子1 小时前
【C++实战㊶】C++建造者模式:复杂对象构建的秘密武器
c++·实战·建造者模式
奔跑吧邓邓子1 小时前
【C++实战㊵】C++抽象工厂模式:解锁高效对象创建的密钥
c++·实战·抽象工厂模式
jf加菲猫2 小时前
条款11:优先选用删除函数,而非private未定义函数
开发语言·c++
235162 小时前
【LeetCode】3. 无重复字符的最长子串
java·后端·算法·leetcode·职场和发展
微笑尅乐3 小时前
神奇的位运算——力扣136.只出现一次的数字
java·算法·leetcode·职场和发展
怀旧,3 小时前
【C++】23. C++11(上)
开发语言·c++
自信的小螺丝钉4 小时前
Leetcode 155. 最小栈 辅助栈
leetcode·