3462. Vowels Game In A String¶
Difficulty: Medium
LeetCode Problem View on GitHub
3462. Vowels Game in a String
Medium
Alice and Bob are playing a game on a string.
You are given a string s, Alice and Bob will take turns playing the following game where Alice starts first:
- On Alice's turn, she has to remove any non-empty substring from
sthat contains an odd number of vowels. - On Bob's turn, he has to remove any non-empty substring from
sthat contains an even number of vowels.
The first player who cannot make a move on their turn loses the game. We assume that both Alice and Bob play optimally.
Return true if Alice wins the game, and false otherwise.
The English vowels are: a, e, i, o, and u.
Example 1:
Input: s = "leetcoder"
Output: true
Explanation:
Alice can win the game as follows:
- Alice plays first, she can delete the underlined substring in
s = "leetcoder"which contains 3 vowels. The resulting string iss = "der". - Bob plays second, he can delete the underlined substring in
s = "der"which contains 0 vowels. The resulting string iss = "er". - Alice plays third, she can delete the whole string
s = "er"which contains 1 vowel. - Bob plays fourth, since the string is empty, there is no valid play for Bob. So Alice wins the game.
Example 2:
Input: s = "bbcd"
Output: false
Explanation:
There is no valid play for Alice in her first turn, so Alice loses the game.
Constraints:
1 <= s.length <= 105sconsists only of lowercase English letters.
Solution¶
class Solution {
public boolean doesAliceWin(String s) {
int n = s.length();
for (int i = 0; i < n; i++) {
char current = s.charAt(i);
if (current == 'a' || current == 'e' || current == 'i' || current == 'o' || current == 'u')
return true;
}
return false;
}
}
Complexity Analysis¶
- Time Complexity:
O(?) - Space Complexity:
O(?)
Approach¶
Detailed explanation of the approach will be added here