Leetcode3227. 字符串元音游戏

打印 上一主题 下一主题

主题 1016|帖子 1016|积分 3048

Every day a Leetcode

题目泉源:3227. 字符串元音游戏
解法1:博弈论

分类讨论:


  • 如果 s 不包罗任何元音,小红输。
  • 如果 s 包罗奇数个元音,小红可以直接把整个 s 移除,小红赢。
  • 如果 s 包罗正偶数个元音,由于偶数减奇数即是奇数,小红移除任意包罗奇数个元音的子串后,剩余元音个数仍然为奇数。由于奇数减偶数还是奇数,所以无论小明怎么操纵,仍然会剩下奇数个元音,此时小红可以直接把整个 s 移除,小红赢。
所以只要 s 包罗元音,就返回 true,否则返回 false。
代码:
  1. /*
  2. * @lc app=leetcode.cn id=3227 lang=cpp
  3. *
  4. * [3227] 字符串元音游戏
  5. */
  6. // @lc code=start
  7. class Solution
  8. {
  9. public:
  10.     bool doesAliceWin(string s)
  11.     {
  12.         for (char &c : s)
  13.             if (isVowel(c))
  14.                 return true;
  15.         return false;
  16.     }
  17.     // 辅函数
  18.     bool isVowel(char &c)
  19.     {
  20.         return (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u');
  21.     }
  22. };
  23. // @lc code=end
复制代码
结果:

复杂度分析:
时间复杂度:O(n),此中 n 是字符串 s 的长度。
空间复杂度:O(1)。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

熊熊出没

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表