闯关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

相关推荐
软嵌星芒筑梦师17 分钟前
C++之运算符重载详解篇
开发语言·c++
越甲八千23 分钟前
带虚继承的类对象模型
c++·类对象模型
心软且酷丶2 小时前
leetcode:面试题 17.01. 不用加号的加法(python3解法)
python·算法·leetcode
Lenyiin2 小时前
《 C++ 点滴漫谈: 十七 》编译器优化与 C++ volatile:看似简单却不容小觑
c++·volatile·lenyiin·c++关键字
Dream it possible!2 小时前
LeetCode 热题 100_将有序数组转换为二叉搜索树(42_108_简单_C++)(二叉树;递归)
c++·算法·leetcode·深度优先
翔云 OCR API2 小时前
手机号认证接口、C++API核验、实名认证
开发语言·c++
小妖剑3 小时前
高质量C++小白教程:2.10-预处理器简介
c++·预处理
XiaoLeisj3 小时前
【优选算法 & 分治】深入理解分治算法:分治算法入门小专题详解
算法·leetcode·决策树·深度优先·哈希算法·剪枝·推荐算法
蒲公英的孩子3 小时前
DCU异构程序——带宽测试
c++·分布式·算法·架构
未知陨落4 小时前
leetcode题目(3)
c++·算法·leetcode