相鄰的組合兩兩相消去,最後是否能消完
str
="}[()]"
defsearch
(a, lst)
:# 尋找元素是否在列表中,並返回index
for i in
range
(len
(lst)):
if lst[i]
== a:
return i
else
:return
false
defcheck
(str):
# 判斷是否可消完
open_bracket =
['('
,'[',''
] lst =
# 儲存已經消去的元素的index
while
len(lst)
!=len
(str):
stack =
for i in
range
(len
(str))
:if i in lst:
# 判斷是否已消去
continue
ifstr
[i]in open_bracket:
str[i]
) b = i
elif
str[i]
in close_bracket:
iflen
(stack)
>0:
a = stack.pop(
)# a的index為b
stack =
idx1 = search(a, open_bracket)
idx2 = search(
str[i]
, close_bracket)
if idx1 == idx2:
# 將符合消去標準的符號索引存入列表
break
if idx1 != idx2:
# 不符合消去標準,繼續找下乙個開括號
continue
else
:return
false
else
:return
false
return
true
# main
if check(
str)
:print
("yes"
)else
:print
("not"
)
python實現消消樂遊戲 C語言實現消消樂遊戲
問題描述 給定乙個矩陣,判斷移動哪乙個格仔,可以實現消除。定義連續三個即可消除 據說是華為的筆試題。分析先寫乙個函式,判斷包含 i,j 的格仔是否可能實現消除。然後就是向右向下交換,然後呼叫上面寫好的函式判斷 被交換的兩個格仔是否實現消除。重點是 1 只需要向右向下交換,因為遍歷的時候,後面的交換會...
開心消消樂分析
開心消消樂的出現,帶給我新的感受。1.介面很漂亮,沒有了那種極簡風格。2.利用了qq的關係,加入社交元素,向好友求助等功能使人們把自己的好友拉進來一起玩。3.遊戲中限制很多,每天一開始預設發30個精力值,每玩一關就消耗5個精力值。當精力值沒有的時候,可以向好友求助,每個好友可以傳送乙個精力值給你,而...
NYOJ F ZQW的消消樂
zqw有乙個長度為n的序列,zqw想移除裡面的重複元素,但是zqw想是對於每種元素保留最後出現的那個。zqw遇到了困難,希望你來幫助他。輸入包括兩行 輸入資料有多組。第一行為序列長度n 1 n 50 第二行為n個數sequence i 1 sequence i 1000 以空格分隔 輸出消除重複元素...