跳到主要内容

2038.如果相邻两个颜色均相同则删除当前颜色

链接:2038.如果相邻两个颜色均相同则删除当前颜色
难度:Medium
标签:贪心、数学、字符串、博弈
简介:假设 Alice 和 Bob 都采用最优策略,如果 Alice 获胜,请返回 true,否则 Bob 获胜,返回 false。

题解 1 - cpp

  • 编辑时间:2022-03-22
  • 执行用时:32ms
  • 内存消耗:13MB
  • 编程语言:cpp
  • 解法介绍:统计 ab 的数量进行比较。
class Solution {
public:
bool winnerOfGame(string colors) {
int a = 0, b = 0;
for (int i = 1; i < colors.size() - 1; i++) {
if (colors[i] == 'A' && colors[i - 1] == 'A' &&
colors[i + 1] == 'A')
a++;
else if (colors[i] == 'B' && colors[i - 1] == 'B' &&
colors[i + 1] == 'B')
b++;
}
return a > b;
}
};