大概意思就是
給出乙個中括號序列,在序列前後可以加中括號字元,補全它。。。
當時沒想起來解決辦法,然後涼涼了,後來專門去搞了這道題,終於搞定
思路在注釋裡寫的比較詳細了,此處不再贅述(用了類似棧的思想)
<?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...