Leetcode 2038 - Remove Colored Pieces if Both Neighbors are the Same Color

題目

Problem#

給你 n 個字母,由 AB 字元組成 colors[i] ,今天 Alice 和 Bob 交替從 colors 刪除各自的代表色:Alice 是 A、Bob 是 B,由 Alice 先手。
規則是只能刪除左右兩邊與自己相同的第 i 個字元,如果一個玩家沒有東西可刪,則代表是輸家。如果 Alice 贏了則回傳 true;否則回傳 false

測資限制#

  • $1 \le n \le 10^5$

想法#

掃一遍統計各自可以刪除的位置,接著可以計算可以選的總數,因為是一個接著一個選刪除的字元的,所以數量比較多則代表另一方會遲早會沒東西選,則得出勝負

  • 時間複雜度: $\mathcal{O}(n)$
  • 空間複雜度: $\mathcal{O}(n)$

AC Code#