Leetcode3227. 字符串元音游戏

Every day a Leetcode

题目来源:3227. 字符串元音游戏

解法1:博弈论

分类讨论:

  • 如果 s 不包含任何元音,小红输。
  • 如果 s 包含奇数个元音,小红可以直接把整个 s 移除,小红赢。
  • 如果 s 包含正偶数个元音,由于偶数减奇数等于奇数,小红移除任意包含奇数个元音的子串后,剩余元音个数仍然为奇数。由于奇数减偶数还是奇数,所以无论小明怎么操作,仍然会剩下奇数个元音,此时小红可以直接把整个 s 移除,小红赢。

所以只要 s 包含元音,就返回 true,否则返回 false。

代码:

c 复制代码
/*
 * @lc app=leetcode.cn id=3227 lang=cpp
 *
 * [3227] 字符串元音游戏
 */

// @lc code=start
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 code=end

结果:

复杂度分析:

时间复杂度:O(n),其中 n 是字符串 s 的长度。

空间复杂度:O(1)。

相关推荐
学电子她就能回来吗16 分钟前
LeetCode Hot 100|滑动窗口专题零基础学习笔记
笔记·学习·leetcode
Solange__40 分钟前
工业产线怎么用AI生成3D场景?从现场采集、部件重建到数字孪生交付的完整方案
人工智能·游戏·3d·ai·语言模型·自然语言处理·关卡设计
拾饵9421 小时前
面试回答整理(Q1–Q3)
leetcode
一次旅行1 小时前
2026.10.13 AI产业深度解读|硬件互联标准更新;Agent工程启示;开源社区AI政策转向;游戏与科研AI双线突破
人工智能·游戏·开源
虚无的纽扣2 小时前
【力扣刷题】第四天:三数之和、四数之和
算法·leetcode·职场和发展
StarRocks_labs2 小时前
StarRocks 接入 Paimon C++:让湖上查询进入原生执行链路
starrocks·c++·sql·jni·paimon·auto·湖上查询
垆边人似月.2 小时前
华为题:字符串中最长连续数字串
开发语言·c++·算法
_不会dp不改名_2 小时前
leetcode_3273 数位平方和的最大值
算法·leetcode·职场和发展
罗湖老棍子2 小时前
座位安排(洛谷-P2071)
c++·算法·图论·匈牙利算法·二分图匹配
IOT那些事儿2 小时前
C++17和20版本差异
c++·mingw·msvc