题目

类型:贪心

image.png

解题思路

根据删除规则,删除任意一个 A 不会影响可被删删除的 B 的数量,反之亦然。
因此直接统计「可删除的 A 的数量」和「可删除的 B 的数量」,分别记为 a 和 b
比较 a 和 b 的大小即可得到答案(只有 a > b 时,先手获胜)。

代码

  1. class Solution {
  2. public boolean winnerOfGame(String colors) {
  3. char[] cs = colors.toCharArray();
  4. int n = cs.length;
  5. int a = 0, b = 0;
  6. for (int i = 1; i < n - 1; i++) {
  7. if (cs[i] == 'A' && cs[i - 1] == 'A' && cs[i + 1] == 'A') a++;
  8. if (cs[i] == 'B' && cs[i - 1] == 'B' && cs[i + 1] == 'B') b++;
  9. }
  10. return a > b;
  11. }
  12. }