八宝山做网站公司,cms网站制作,成功的网络营销案例及分析,全面的品牌创意设计公司Every day a Leetcode
题目来源#xff1a;3227. 字符串元音游戏
解法1#xff1a;博弈论
分类讨论#xff1a;
如果 s 不包含任何元音#xff0c;小红输。如果 s 包含奇数个元音#xff0c;小红可以直接把整个 s 移除#xff0c;小红赢。如果 s 包含正偶数个元音3227. 字符串元音游戏
解法1博弈论
分类讨论
如果 s 不包含任何元音小红输。如果 s 包含奇数个元音小红可以直接把整个 s 移除小红赢。如果 s 包含正偶数个元音由于偶数减奇数等于奇数小红移除任意包含奇数个元音的子串后剩余元音个数仍然为奇数。由于奇数减偶数还是奇数所以无论小明怎么操作仍然会剩下奇数个元音此时小红可以直接把整个 s 移除小红赢。
所以只要 s 包含元音就返回 true否则返回 false。
代码
/** lc appleetcode.cn id3227 langcpp** [3227] 字符串元音游戏*/// lc codestart
class Solution
{
public:bool doesAliceWin(string s){for (char c : s)if (isVowel(c))return true;return false;}// 辅函数bool isVowel(char c){return (c a || c e || c i || c o || c u);}
};
// lc codeend结果 复杂度分析
时间复杂度O(n)其中 n 是字符串 s 的长度。
空间复杂度O(1)。