All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g3201_3300.s3227_vowels_game_in_a_string.readme.md Maven / Gradle / Ivy

The newest version!
3227\. 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 `s` that contains an **odd** number of vowels.
*   On Bob's turn, he has to remove any **non-empty** substring from `s` that 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 = "**leetco**der" which contains 3 vowels. The resulting string is `s = "der"`.
*   Bob plays second, he can delete the underlined substring in s = "**d**er" which contains 0 vowels. The resulting string is `s = "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 <= 105
*   `s` consists only of lowercase English letters.




© 2015 - 2024 Weber Informatics LLC | Privacy Policy