国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

LeetCode[132] Pattern

go4it / 1209人閱讀

摘要:復(fù)雜度思路維護(hù)一個(gè)里面有最大值和最小值。如果當(dāng)前值小于的最小值,那么就將原來(lái)的壓進(jìn)去棧,然后在用這個(gè)新的的值再進(jìn)行更新。如果沒(méi)有適合返回的值,就重新更新當(dāng)前的。

Leetcode[132] Pattern

Given a sequence of n integers a1, a2, ..., an, a 132 pattern is a subsequence ai, aj, ak such that i < j < k and ai < ak < aj. Design an algorithm that takes a list of n numbers as input and checks whether there is a 132 pattern in the list.

Note: n will be less than 15,000.

Example 1:
Input: [1, 2, 3, 4]
Output: False
Explanation: There is no 132 pattern in the sequence.

Example 2:
Input: [3, 1, 4, 2]
Output: True
Explanation: There is a 132 pattern in the sequence: [1, 4, 2].
Stack

復(fù)雜度
O(N),O(N)

思路
維護(hù)一個(gè)pair, 里面有最大值和最小值。如果當(dāng)前值小于pair的最小值,那么就將原來(lái)的pair壓進(jìn)去棧,然后在用這個(gè)新的pair的值再進(jìn)行更新。如果當(dāng)前值大于pair的最大值,首先這個(gè)值和原來(lái)在stack里面的那些pair進(jìn)行比較,如果這個(gè)值比stack里面的值的max要大,就需要pop掉這個(gè)pair。如果沒(méi)有適合返回的值,就重新更新當(dāng)前的pair。

代碼

Class Pair {
    int min;
    int max;
    public Pair(int min, int max) {
        this.min = min;
        this.max = max;
    }
}

public boolean find123Pattern(int[] nums) {
    if(nums == null || nums.length < 3) return false;
    Pair cur = new Pair(nums[0], nums[0]);
    Stack stack = new Stack<>();
    for(int i = 1; i < nums.length; i ++) {
        if(nums[i] < cur.min) {
            stack.push(cur);
            cur = new Pair(nums[i], nums[i]);
        }
        else if(nums[i] > cur.max) {
            while(!stack.isEmpty() && stack.peek().max <= nums[i]) {
                stack.pop();
            }
            if(!stack.isEmpty() && stack.peek.max > nums[i]) {
                return true;
            }
            cur.max = nums[i];
        }
        else if(nums[i] > cur.min && nums[i] < cur.max) {
            return true;
        }
    }
    return false;
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/69793.html

相關(guān)文章

  • 132pattern

    摘要:記錄即之前,里的最小值,即題目里的即所有不滿(mǎn)足的直接跳過(guò)。已知那么找一個(gè)比大,又盡可能小的數(shù)找滿(mǎn)足就最可能。找到后,比較是否滿(mǎn)足滿(mǎn)足就返回更新棧頂元素,表示表示 Given a sequence of n integers a1, a2, ..., an, a 132 pattern is a subsequence ai, aj, ak such that i < j < k an...

    Raaabbit 評(píng)論0 收藏0
  • leetcode132. Palindrome Partitioning II

    摘要:題目要求現(xiàn)在有一個(gè)字符串,將分割為多個(gè)子字符串從而保證每個(gè)子字符串都是回?cái)?shù)。我們只需要找到所有可以構(gòu)成回?cái)?shù)的并且得出最小值即可。即將字符作為,將字符所在的下標(biāo)列表作為。再采用上面所說(shuō)的方法,利用中間結(jié)果得出最小分割次數(shù)。 題目要求 Given a string s, partition s such that every substring of the partition is a ...

    jeyhan 評(píng)論0 收藏0
  • [leetcode]132. Palindrome Partitioning II

    摘要:用表示當(dāng)前位置最少需要切幾次使每個(gè)部分都是回文。表示到這部分是回文。如果是回文,則不需重復(fù)該部分的搜索。使用的好處就是可以的時(shí)間,也就是判斷頭尾就可以確定回文。不需要依次檢查中間部分。 Given a string s, partition s such that every substring of the partition is a palindrome. Return the...

    Airy 評(píng)論0 收藏0
  • 【實(shí)踐】玩轉(zhuǎn)正則表達(dá)式+JS正則處理函數(shù)

    摘要:前言寫(xiě)這篇文章不是空穴來(lái)風(fēng),最近一個(gè)禮拜寫(xiě)了一個(gè)簡(jiǎn)單的腳本,用來(lái)處理上千個(gè)文件,以便于在某些特定字符的周?chē)砑訕?biāo)記,先說(shuō)一下我這個(gè)腳本使用場(chǎng)景主要是來(lái)識(shí)別中文具體做什么,之后會(huì)單獨(dú)寫(xiě)一篇文章,此處只提該腳本作用,同時(shí)為不同的文件類(lèi)型,包括, 前言 寫(xiě)這篇文章不是空穴來(lái)風(fēng),最近一個(gè)禮拜寫(xiě)了一個(gè)簡(jiǎn)單的nodejs腳本,用來(lái)處理上千個(gè)文件,以便于在某些特定字符的周?chē)砑訕?biāo)記,先說(shuō)一下我這個(gè)腳...

    DoINsiSt 評(píng)論0 收藏0
  • [Leetcode] Permutation Sequence 全排列序列

    摘要:找規(guī)律復(fù)雜度時(shí)間空間思路由于我們只要得到第個(gè)全排列,而不是所有全排列,我們不一定要將所有可能都搜索一遍。根據(jù)全排列順序的性質(zhì),我們可以總結(jié)出一個(gè)規(guī)律假設(shè)全排列有個(gè)數(shù)組成,則第個(gè)全排列的第一位是。然后將得到,這個(gè)就是下一輪的。 Permutation Sequence The set [1,2,3,…,n] contains a total of n! unique permutati...

    testHs 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<