【LeetCode笔记】32. 最长有效括号(Java、动态规划、栈、字符串)
生活随笔
收集整理的這篇文章主要介紹了
【LeetCode笔记】32. 最长有效括号(Java、动态规划、栈、字符串)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 題目描述
- 代碼 & 解析
- 1. 棧做法
- 2. 動態規劃
題目描述
- (括號題真的好煩人)
- 講道理,題目一看,大概率就是用dp做
代碼 & 解析
1. 棧做法
- 這個做法我沒實際寫,但是感覺很厲害,就記錄一下。
- 我們之前做括號正確判斷的時候,就用到了棧來進行匹配判斷。
如今也可以用棧來進行正確判斷,并記錄下可行的括號的下標,
比如(1,4)(2,3)(7,8),得到142378,而后一次排序O(nlogn),得到123478。
在這個有序數組中找到最長連續子串即可。
(當然,這里可以優化成O(n),排序用其他方法代替。)
2. 動態規劃
- 具體見注釋
- 整理一下
總結
以上是生活随笔為你收集整理的【LeetCode笔记】32. 最长有效括号(Java、动态规划、栈、字符串)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【LeetCode笔记】543. 二叉树
- 下一篇: 【LeetCode笔记】232. 用栈实