給出一列A和B組成的字符串,選手A和B輪流操作,每次A看到三個相連的A,則可以去掉中間的A,B看到三個相連的B,則可以去掉中間的B,如果誰先無法找到可消除的字母,則輸,輸出A是否能贏
每次把三個相鄰的數中間一個去掉,并不會影響對手可選擇的消除位置,于是直接統計三個A和B(若有四個相鄰,統計兩次)
1 #2038
2 #Runtime: 166 ms (Beats 83.6%)
3 #Memory: 14.8 MB (Beats 89.52%)
4
5 class Solution(object):
6 def winnerOfGame(self, colors):
7 """
8 :type colors: str
9 :rtype: bool
10 """
11 a = 0
12 for i in xrange(1, len(colors) - 1):
13 if colors[i - 1] == colors[i] == colors[i + 1]:
14 if colors[i] == 'A':
15 a += 1
16 else:
17 a -= 1
18 return a > 0