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)。

相关推荐
讳疾忌医丶7 小时前
深度拆解 RocksDB 内核:基于 C++17 的 FIFO 调度状态机与温度阶梯自愈设计
java·c++·算法·架构
2401_868534787 小时前
OpenStack 架构全景:八个核心组件深度拆解
c++·需求分析
软件课代表CiCi8 小时前
运行库是什么?电脑缺运行库怎么办?c++运行库缺失修复全攻略
开发语言·c++·windows·电脑·dll修复·dll丢失·运行库
一孤程9 小时前
游戏测试专题第四篇:游戏性能测试实战-帧率/内存/发热全覆盖
游戏·测试
蒸蒸yyyyzwd9 小时前
从面经中学到的三件事
c++·笔记
时时三省9 小时前
【时时三省】计算机c语言二级考试选择题重点
c++
ThornArmor12 小时前
重铸1996|肉体渲染:关节的裂缝:分段模型积木拼装与未成熟的 RSP 矩阵骨骼动画形变
c语言·汇编·c++·python·硬件架构·游戏机
Elsa️74614 小时前
算法一周刷题总结
c++·算法
小小数媒成员14 小时前
如何优化代码适应托管内存?
游戏·unity·游戏引擎
风合星语14 小时前
2026 机器人工程实例(五):让 Allegro Hand 在 MuJoCo 中完成接触抓取——抓取状态机、稳定抬升与受控释放
c++·python·机器人·仿真