找成對的元素(20200319)

2021-10-04 03:38:57 字數 1143 閱讀 9864

給定乙個由括號元素』(』,』)』,』[』,』]』,』'組成的字串,判斷該字串中的所有型別的括號是否是閉合的。

判斷條件:

(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,結果發現並沒有錯。...