給定乙個由括號元素』(』,』)』,』[』,』]』,』'組成的字串,判斷該字串中的所有型別的括號是否是閉合的。
判斷條件:示例:(1)左括號必須用相同型別的右括號閉合
(2)左括號必須以相同的順序閉合
輸入輸出
()true
(){}
true
(]false
([)]
false
([{}])
true
((()))
true
([[()()]{}]){}
true
思路:用乙個陣列儲存輸入,遍歷陣列找一對一對的(){},找到的話就刪除,然後在剩餘陣列中重複操作,直到陣列為空,就為true,找不到就為false
#coding=utf-8
deffunc
(arr)
: flag=
0while
len(arr)
>0:
for i in
range
(len
(arr)):
if arr[i]
=='('
and arr[i+1]
==')'
or arr[i]
=='['
and arr[i+1]
==']'
or arr[i]
==''
: arr.remove(arr[i]
) arr.remove(arr[i]
) flag=
1break
if flag==0:
return
false
iflen
(arr)==0
:return
true
if __name__==
'__main__'
: arr=
list
(input()
)print
(func(arr)
)
陣列找missing元素
大小n的陣列有 n k個不同的數,範圍0 n,找missing 要求用o 1 space 發信人 longway2008 longway2008 信區 jobhunting 標 題 re 問個題 大小n的陣列有 n k個不同的數,範圍0 n,找miss 發信站 bbs 未名空間站 fri apr 6...
找重複元素
一道題目 乙個大小為n的整型陣列,值的範圍是1 n 1,其中有一對元素重複,問怎麼在o n 的時間複雜度下 不用o n 的空間複雜度來找出重複的那個值。這個題目最關鍵的應該是條件中的值的範圍,由於是1 n,所以用值作為下標可以遍歷從a 1 到a n 1 而元素值都是正數,那麼又可以在符號上動腦筋,當...
vector找最大元素
今天做了一道huffman題,這是一道貪心演算法的入門題。我突然想起使用vector來解決,在解決過程中發現了一些vector使用的不熟悉和誤區。剛開始使用pop back 裡面加入元素刪除此元素,但是一直報錯,還以為是min element 使用錯誤,於是查了cplusplus,結果發現並沒有錯。...