力扣刷題之路 括號匹配問題

2022-10-11 17:30:14 字數 1036 閱讀 2587

括號匹配問題在力扣中有好幾道,簡單的括號匹配問題即乙個左括號需要對應乙個右括號,判斷是否匹配或者需要加入幾個左括號或右括號,此時的問題比較簡單,當字串中的字元只有一種型別的括號時,直接用乙個變數儲存需要的左括號或者右括號數量即可,當有多種括號型別時,可以利用棧儲存字串陣列中的字元,根據棧後進先出的特點,檢查括號是否匹配。

這個問題的解決比較簡單,因為只有一種型別的括號,且乙個左括號必須對應乙個右括號。使用left變數記錄左括號的需求量,使用right變數記錄右括號的需求量。當是左括號的時候,right+1;當是右括號的時候,right-1,且當right為-1的時候,表示此時右括號的數量已經比左括號多了,此時left需要+1,且right變為0。

這個題和上一道題目的思想差不多,但是這道題是乙個左括號對應兩個右括號。仍然使用兩個變數left和right分別記錄左右括號所需量。遇到右括號的情況和上邊一樣,當right=-1時說明右括號太多了,需要乙個左括號,且因為乙個左括號對應兩個右括號,此時右括號的需求變成1。當是左括號的時候,如果右括號的需求是奇數,則表示前面差乙個右括號,此時用temp來記錄此左括號之前差乙個右括號,且右括號的總需求-1。(直接用left變數來儲存也是可以的,因為left變數只進行了加法,其他時候並沒有進行修改)

力扣刷題 32 最長有效括號

給定乙個只包含 和 的字串,找出最長的包含有效括號的子串的長度。動態規劃初步 動態規劃可以理解為是一種遞迴的思想,當前的狀態可以由之前已知的狀態推導過來 用數學表示即 f x 可以由f x 1 或者f x 2 的某種關係得到。一般來講,目標是求什麼則什麼即為狀態,然後分析當前狀態和之前狀態的推導關係...

力扣刷題系列

給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2。請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 o log m n 你可以假設 nums1 和 nums2 不會同時為空。從中學知識知道,如果需要求一組數字的中位數,那麼先要從小到大排列這些數字。接著,如果總共有奇數個...

刷題 力扣 119

題目鏈結 題目描述 給定乙個非負索引 k,其中 k 33,返回楊輝三角的第 k 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 3 輸出 1,3,3,1 高階 題目分析 根據題目描述楊輝三角形每一行從左到右依次是 組合 combiner是用來計算組合的結果 依次遍歷每一行從左到右 c...