国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【棧和隊(duì)列】劍指 Offer 09. 用兩個(gè)棧實(shí)現(xiàn)隊(duì)列

這篇具有很好參考價(jià)值的文章主要介紹了【棧和隊(duì)列】劍指 Offer 09. 用兩個(gè)棧實(shí)現(xiàn)隊(duì)列。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、題目

1、題目描述

用兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列。隊(duì)列的聲明如下,請(qǐng)實(shí)現(xiàn)它的兩個(gè)函數(shù) appendTail 和 deleteHead ,分別完成在隊(duì)列尾部插入整數(shù)和在隊(duì)列頭部刪除整數(shù)的功能。(若隊(duì)列中沒(méi)有元素,deleteHead 操作返回 -1 )

示例 1:
輸入:
[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”,“deleteHead”]
[[],[3],[],[],[]]
輸出:[null,null,3,-1,-1]

示例 2:
輸入:
[“CQueue”,“deleteHead”,“appendTail”,“appendTail”,“deleteHead”,“deleteHead”]
[[],[],[5],[2],[],[]]
輸出:[null,-1,null,null,5,2]

2、基礎(chǔ)框架

  • C++版本給出的基礎(chǔ)框架如下:

3、原題鏈接

https://leetcode.cn/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof/

二、解題報(bào)告

1、思路分析

?? ( 1 ) (1) (1)設(shè)置兩個(gè)棧,一個(gè)入隊(duì)棧,一個(gè)出隊(duì)棧。
?? ( 2 ) (2) (2)執(zhí)行appendTail時(shí),將元素放入入隊(duì)棧。
?? ( 3 ) (3) (3)執(zhí)行deleteHead時(shí),刪除出隊(duì)棧的棧頭元素,如果出隊(duì)棧為空,則將入隊(duì)棧的元素移入出隊(duì)棧。再?gòu)某鲫?duì)棧刪除棧頭元素。如果入隊(duì)棧也為空,返回-1。所有入棧出棧操作均根據(jù)棧規(guī)則。

2、時(shí)間復(fù)雜度

入隊(duì)操作時(shí)間復(fù)雜度為O(1)
出隊(duì)操作時(shí)間復(fù)雜度為O(n)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-428163.html

3、代碼詳解

class CQueue {
public:
    stack<int> s1;
    stack<int> s2;
    CQueue() {

    }
    
    void appendTail(int value) {
        s1.push(value);
    }
    
    int deleteHead() {
        int re = -1;
        if (!s2.empty()) {
            re = s2.top();
            s2.pop();
        } else if (!s1.empty()){
            while (!s1.empty()){
                s2.push(s1.top());
                s1.pop();
            }
            re = s2.top();
            s2.pop();
        }
        return re;
    }
};

三、本題小知識(shí)

到了這里,關(guān)于【棧和隊(duì)列】劍指 Offer 09. 用兩個(gè)棧實(shí)現(xiàn)隊(duì)列的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【數(shù)據(jù)結(jié)構(gòu)經(jīng)典題目】—兩個(gè)隊(duì)列實(shí)現(xiàn)棧與兩個(gè)棧實(shí)現(xiàn)隊(duì)列

    【數(shù)據(jù)結(jié)構(gòu)經(jīng)典題目】—兩個(gè)隊(duì)列實(shí)現(xiàn)棧與兩個(gè)棧實(shí)現(xiàn)隊(duì)列

    ? ????????????????????????????????????????? 食用指南:本文在有C基礎(chǔ)的情況下食用更佳 ?? ?????????????????????????????????????????? 這就不得不推薦此專欄了: C語(yǔ)言 ??????????????????????????????????????????

    2024年02月13日
    瀏覽(17)
  • 《劍指offer》——合并兩個(gè)排序的鏈表

    《劍指offer》——合并兩個(gè)排序的鏈表

    本期給大家?guī)?lái)的是 ?合并兩個(gè)排序的鏈表 這道題的講解!?。??接下來(lái),我們還是先從題干的內(nèi)容入手,先分析一波題目,在進(jìn)行畫圖思考操作。 ??? 題目如下: 示例1 輸入:{1,3,5},{2,4,6} 返回值:{1,2,3,4,5,6} 示例2 輸入:{},{} 返回值:{} 示例3 輸入:{-1,2,4},{1,3,4} 返回值:

    2023年04月13日
    瀏覽(15)
  • 【數(shù)據(jù)結(jié)構(gòu)】棧和隊(duì)列常見(jiàn)題目

    【數(shù)據(jù)結(jié)構(gòu)】棧和隊(duì)列常見(jiàn)題目

    隊(duì)列:先進(jìn)先出 棧:后進(jìn)先出 隊(duì)列:先進(jìn)先出 棧:后進(jìn)先出 https://leetcode.cn/problems/valid-parentheses/ 做法:遍歷字符串 1.當(dāng)前字符是左括號(hào):進(jìn)棧 2.當(dāng)前字符是右括號(hào):出棧頂元素和當(dāng)前字符比較是否匹配 特殊情況:如果此時(shí)棧為空,那么說(shuō)明不匹配 3.最后如果棧為空,說(shuō)明

    2024年02月12日
    瀏覽(29)
  • 【劍指offer刷題記錄 java版】數(shù)組雙指針 之 其它題目

    【劍指offer刷題記錄 java版】數(shù)組雙指針 之 其它題目

    本系列文章記錄labuladong的算法小抄中劍指offer題目 題目鏈接:https://leetcode.cn/problems/XltzEq/ 題目鏈接:https://leetcode.cn/problems/fan-zhuan-dan-ci-shun-xu-lcof/ 題目鏈接:https://leetcode.cn/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof/ 題目鏈接:https://leetcode.cn/problems/he-wei-sde-

    2024年02月11日
    瀏覽(22)
  • 劍指 Offer 52. 兩個(gè)鏈表的第一個(gè)公共節(jié)點(diǎn)

    劍指 Offer 52. 兩個(gè)鏈表的第一個(gè)公共節(jié)點(diǎn)

    ?? 作者簡(jiǎn)介:一名在后端領(lǐng)域?qū)W習(xí),并渴望能夠?qū)W有所成的追夢(mèng)人。 ?? 個(gè)人主頁(yè):不 良 ?? 系列專欄:??劍指 Offer ???Linux ?? 學(xué)習(xí)格言:博觀而約取,厚積而薄發(fā) ?? 歡迎進(jìn)來(lái)的小伙伴,如果小伙伴們?cè)趯W(xué)習(xí)的過(guò)程中,發(fā)現(xiàn)有需要糾正的地方,煩請(qǐng)指正,希望能夠與諸

    2024年02月10日
    瀏覽(21)
  • (鏈表) 劍指 Offer 25. 合并兩個(gè)排序的鏈表 ——【Leetcode每日一題】

    (鏈表) 劍指 Offer 25. 合并兩個(gè)排序的鏈表 ——【Leetcode每日一題】

    難度:簡(jiǎn)單 輸入兩個(gè)遞增排序的鏈表,合并這兩個(gè)鏈表并使新鏈表中的節(jié)點(diǎn)仍然是遞增排序的。 示例1: 輸入:1-2-4, 1-3-4 輸出:1-1-2-3-4-4 限制 : 0 = 鏈表長(zhǎng)度 = 1000 注意:本題與 21. 合并兩個(gè)有序鏈表 相同 ??思路: 法一:遞歸 將該問(wèn)題可以分解成子鏈表,只比較當(dāng)前 l1 鏈

    2024年02月15日
    瀏覽(21)
  • (鏈表) 劍指 Offer 52. 兩個(gè)鏈表的第一個(gè)公共節(jié)點(diǎn) ——【Leetcode每日一題】

    (鏈表) 劍指 Offer 52. 兩個(gè)鏈表的第一個(gè)公共節(jié)點(diǎn) ——【Leetcode每日一題】

    難度:簡(jiǎn)單 輸入兩個(gè)鏈表,找出它們的第一個(gè)公共節(jié)點(diǎn)。 如下面的兩個(gè)鏈表: 在節(jié)點(diǎn) c1 開(kāi)始相交。 示例 1: 輸入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 輸出:Reference of the node with value = 8 輸入解釋:相交節(jié)點(diǎn)的值為 8 (注意,如果兩個(gè)列表相交則

    2024年02月15日
    瀏覽(27)
  • 【算法】雙指針——leetcode盛最多水的容器、劍指Offer57和為s的兩個(gè)數(shù)字

    【算法】雙指針——leetcode盛最多水的容器、劍指Offer57和為s的兩個(gè)數(shù)字

    盛水最多的容器 (1)暴力解法 ??算法思路:我們枚舉出所有的容器大小,取最大值即可。 ??容器容積的計(jì)算方式: ??設(shè)兩指針 i , j ,分別指向水槽板的最左端以及最右端,此時(shí)容器的寬度為 j - i 。由于容器的高度由兩板中的較短的板決定,因此可得容積公式 :

    2024年02月13日
    瀏覽(24)
  • 劍指offer(C++)-JZ56:數(shù)組中只出現(xiàn)一次的兩個(gè)數(shù)字(算法-位運(yùn)算)

    劍指offer(C++)-JZ56:數(shù)組中只出現(xiàn)一次的兩個(gè)數(shù)字(算法-位運(yùn)算)

    作者:翟天保Steven 版權(quán)聲明:著作權(quán)歸作者所有,商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處 題目描述: 一個(gè)整型數(shù)組里除了兩個(gè)數(shù)字只出現(xiàn)一次,其他的數(shù)字都出現(xiàn)了兩次。請(qǐng)寫程序找出這兩個(gè)只出現(xiàn)一次的數(shù)字。 數(shù)據(jù)范圍:數(shù)組長(zhǎng)度2≤n≤1000,數(shù)組中每個(gè)數(shù)

    2024年02月10日
    瀏覽(22)
  • 劍指 Offer 59 - I. 滑動(dòng)窗口的最大值 / LeetCode 239. 滑動(dòng)窗口最大值(優(yōu)先隊(duì)列 / 單調(diào)隊(duì)列)

    鏈接:劍指 Offer 59 - I. 滑動(dòng)窗口的最大值;LeetCode 239. 滑動(dòng)窗口最大值 難度:困難 下一篇:劍指 Offer 59 - II. 隊(duì)列的最大值(單調(diào)隊(duì)列) 給你一個(gè)整數(shù)數(shù)組 nums,有一個(gè)大小為 k 的滑動(dòng)窗口從數(shù)組的最左側(cè)移動(dòng)到數(shù)組的最右側(cè)。你只可以看到在滑動(dòng)窗口內(nèi)的 k 個(gè)數(shù)字。滑動(dòng)窗

    2024年02月15日
    瀏覽(21)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包