3136. 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"
Output: false
Explanation:
This word contains a '$'
character and does not have a consonant.
Constraints:
1 <= word.length <= 20
word
consists of English uppercase and lowercase letters, digits,'@'
,'#'
, and'$'
.
Solutions
Solution 1: Simulation
First, we check if the length of the string is less than 3. If it is, we return false
.
Next, we iterate through the string, checking if each character is a letter or a number. If it's not, we return false
. Otherwise, we check if the character is a vowel. If it is, we set has_vowel
to true
. If it's not, we set has_consonant
to true
.
Finally, if both has_vowel
and has_consonant
are true
, we return true
. Otherwise, we return false
.
The time complexity is $O(n)$, and the space complexity is $O(1)$. Where $n$ is the length of the string.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|