日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode 456. 132模式(逆序遍历+单调栈)

發(fā)布時(shí)間:2024/7/5 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode 456. 132模式(逆序遍历+单调栈) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 題目

給定一個(gè)整數(shù)序列:a1, a2, …, an,一個(gè)132模式的子序列 ai, aj, ak 被定義為:當(dāng) i < j < k 時(shí),ai < ak < aj。
設(shè)計(jì)一個(gè)算法,當(dāng)給定有 n 個(gè)數(shù)字的序列時(shí),驗(yàn)證這個(gè)序列中是否含有132模式的子序列。

注意:n 的值小于15000。 示例1: 輸入: [1, 2, 3, 4] 輸出: False 解釋: 序列中不存在132模式的子序列。示例 2: 輸入: [3, 1, 4, 2] 輸出: True 解釋: 序列中有 1 個(gè)132模式的子序列: [1, 4, 2].示例 3: 輸入: [-1, 3, 2, 0] 輸出: True 解釋: 序列中有 3 個(gè)132模式的的子序列: [-1, 3, 2], [-1, 3, 0][-1, 2, 0].

來源:力扣(LeetCode) 鏈接:https://leetcode-cn.com/problems/132-pattern
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

2. 解題


當(dāng)5要入棧時(shí),不滿足遞減了
更新第二大數(shù)Ak為棧頂,彈棧,繼續(xù)檢查,最后棧內(nèi)空,Ak=4,push 5
下一個(gè)數(shù) 3 < Ak(第二大),存在

class Solution { public:bool find132pattern(vector<int>& nums) {if(nums.size() < 3)return false;stack<int> s;//單調(diào)遞減棧int Ak = INT_MIN;//第二大的數(shù)for(int i = nums.size()-1; i >= 0; --i){if(Ak > nums[i])return true;while(!s.empty() && nums[i] > s.top()){Ak = s.top();s.pop();}s.push(nums[i]);}return false;} };

36 ms 17.5 MB

總結(jié)

以上是生活随笔為你收集整理的LeetCode 456. 132模式(逆序遍历+单调栈)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。