演算法題 補全括號序列

2021-08-19 04:21:15 字數 1225 閱讀 7637

大概意思就是

給出乙個中括號序列,在序列前後可以加中括號字元,補全它。。。

當時沒想起來解決辦法,然後涼涼了,後來專門去搞了這道題,終於搞定

思路在注釋裡寫的比較詳細了,此處不再贅述(用了類似棧的思想)

<?php

/*** 字串轉陣列

* @param

$str

string 輸入的字串

* @return

array 轉換之後的結果陣列

*/function

strtoarray

($str

) return

$arr;}

/*** 判斷括號是否已匹配

* @param

$str

string 輸入的括號序列

* @return

array 返回結果[bool,簡化之後的括號陣列]

*/function

bracketstest

($str

) else

if (

strlen

($str

) == 1

) while

($sp + 1

< count

($ls

)) } else}if

(count

($ls

) == 0

) else }

/*** 補全括號序列

* @param

$str

string 待補全的括號序列

* @return

string

*/function

completingbrackets

($str

) // 左右需補全的字串

$lc = $rc = ''

;foreach

($testres[1

]as$b) else

}// 拼合

return

$lc . $str . $rc;}

echo

completingbrackets(

']['

);

當時二面的時候沒想起來解法,後來冷靜分析一下其實不太難

我的文章倉庫:github位址 https: www.wanmeiyuele.cn www.255055.cn wxj/markdownnote

百度的一道二面演算法題分析 補全括號序列

大概意思就是 給出乙個中括號序列,在序列前後可以加中括號字元,補全它。當時沒想起來解決辦法,然後涼涼了,後來專門去搞了這道題,終於搞定 思路在注釋裡寫的比較詳細了,此處不再贅述 用了類似棧的思想 字串轉陣列 param str string 輸入的字串 return array 轉換之後的結果陣列 ...

最長合法括號序列 棧(括號題)

這是另一道處理合法括號序列的題目。我們應該提醒你,如果乙個括號序列插入 和 1 後,可以得到乙個正 確的數學表示式,那麼它被稱為 合法 的。例如,序列 和 是合法的,但 和 不是。給出乙個由 和 字元組成的字串。你要找出它最長的是合法括號序列的子串,也同樣要找出最長子串的個數。括號題容易想到棧,把左...

NOIP模擬題 括號序列

題目描述 課堂上,felix 剛剛學習了關於括號序列的知識。括號序列是乙個只由左括號 和右括號 構成的序列 進一步的,乙個合法的括號序列是指左括號和右括號能 夠 一一匹配的序列。如果用規範的語言說明,乙個合法的括號序列可以有以下三種形式 1 s 空串 s 是乙個合法的括號序列 2 s xy,其中 x...