《演算法設計與分析》第一周作業

2021-08-27 16:27:13 字數 798 閱讀 8250

標籤(空格分隔): 課堂作業

姓名:李**

學號:16340114

題目:valid parentheses(

題目概要:給定一串只包含』(『, 『)』, 『』, 『[』 , 『]』的字串,判斷該字串中的括號是否合法地閉合。

思路:發現一對合法的子字串,如』()』,』{}』,』』,就將該子字串消去,再對修改後的輸入字串進行該操作,直到字串無法繼續進行消去操作,如字串完全被消掉則輸入合法,反之輸入不合法。

具體實現:可以利用資料結構–棧來實現這個思路,而不用真的對輸入字串進行消去操作。

逐個字元讀取輸入字串,如果棧不為空且棧頂與當前輸入字元配對,則將棧頂出棧,否則將輸入字元壓棧。整個字串讀取完畢後,棧為空則輸入合法,棧不空則輸入不合法。

心得:利用恰當的資料結構可以很好地解決實際問題。

到leetcode上逛了一圈,發現hard難度的題目看了答案也看不懂┑( ̄д  ̄)┍

有一題叫找兩個數列的中位數,那個證明跟復變函式裡的有得一拼,看著實在頭疼

部分medium好像也想不出來

看來沒點演算法基礎還是別想碰那些題了,接下來還是好好學演算法吧

原始碼:

class solution 

' minus '

else

validator.push(s[i]);

}if (validator.size() != 0)

return

false;

else

return

true;

}};

演算法設計與分析2018 9第一周作業

difficulty hard 在寫之前先補充一些c 的基本語法 看建構函式發現有find if這個函式,void trimlefttrailingspaces string input 根據網上用法 find if 根據指定的pred運算條件 以仿函式表示 迴圈查詢 first,last 內的所有...

第一周作業

專案shrinkwrap games operating systems 這些軟體是怎麼說服你 陌生人 成為他們的使用者的?他們的目標都是盈利麼?通過廣告 老使用者口碑推薦 實體店推薦等方式發展新使用者,目標一般是盈利的,賺取使用者現金。通過廣告 老使用者口碑推薦等方式發展新使用者,目標一般是盈利的...

第一周作業

我的乙個小目標 7月13下午15.58分,我不遠千里踏上了北上求學謀生之路 年近快30歲的我深深的感到了孔子所謂的男人三十而立的壓力,從小到大父母對我的要求和期望都比較大,而我總是讓他們失望,一直都是一事無成,有的時候我都在質問自己甚至心中還有一絲幻想,如果時光能倒退從來我以前一定好好學習,考乙個好...