欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java?C++題解leetcode1441用棧操作構(gòu)建數(shù)組示例

 更新時間:2022年10月17日 11:03:46   作者:AnjaVon  
這篇文章主要為大家介紹了Java?C++題解leetcode1441用棧操作構(gòu)建數(shù)組示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

題目要求

思路:模擬【雙指針】

按題意模擬即可:

一個指針cur依次指向target中的每個元素,另一個指針i依次指向1∼n的數(shù)字;

對i所指向的每個數(shù)字進行Push操作,然后判斷當(dāng)前數(shù)字與target[cur]是否相等;

  • 相等則判斷下一個數(shù)字,同時將cur指向下一個元素;
  • 否則需進行Pop操作。

過程中需注意cur的越界,當(dāng)其越界則target構(gòu)造完畢。

Java

class Solution {
    public List<String> buildArray(int[] target, int n) {
        List<String> res = new ArrayList<>();
        for (int i = 1, cur = 0; i <= n && cur < target.length; i++) {
            res.add("Push");
            if (target[cur] != i)
                res.add("Pop");
            else
                cur++;
        }
        return res;
    }
}
  • 時間復(fù)雜度:O(n)
  • 空間復(fù)雜度:O(1)

C++

class Solution {
public:
    vector<string> buildArray(vector<int>& target, int n) {
        vector<string> res;
        for (int i = 1, cur = 0; i <= n && cur < target.size(); i++) {
            res.emplace_back("Push");
            if (target[cur] != i)
                res.emplace_back("Pop");
            else
                cur++;
        }
        return res;
    }
};
  • 時間復(fù)雜度:O(n)
  • 空間復(fù)雜度:O(1)

Rust

impl Solution {
    pub fn build_array(target: Vec<i32>, n: i32) -> Vec<String> {
        let mut res = Vec::new();
        let mut cur = 0;
        for i in 1..(n + 1) {
            if (cur < target.len()) {
                res.push(String::from("Push"));
                if (target[cur] != i) {
                    res.push(String::from("Pop"));
                }
                else {
                    cur += 1;
                }
            }          
        }
        res
    }
}
  • 時間復(fù)雜度:O(n)
  • 空間復(fù)雜度:O(1)

以上就是Java C++題解leetcode1441用棧操作構(gòu)建數(shù)組示例的詳細內(nèi)容,更多關(guān)于Java C++ 棧操作構(gòu)建數(shù)組的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • SpringBoot?內(nèi)置工具類的使用

    SpringBoot?內(nèi)置工具類的使用

    本文主要介紹了SpringBoot?內(nèi)置工具類的使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 全面解析Java8觀察者模式

    全面解析Java8觀察者模式

    這篇文章主要為大家全面解析Java8觀察者模式,通過在 Java8 環(huán)境下實現(xiàn)觀察者模式的實例,進一步介紹了什么是觀察者模式、專業(yè)化及其命名規(guī)則,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 淺談Java中Map和Set之間的關(guān)系(及Map.Entry)

    淺談Java中Map和Set之間的關(guān)系(及Map.Entry)

    這篇文章主要介紹了淺談Java中Map和Set之間的關(guān)系(及Map.Entry),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java網(wǎng)絡(luò)編程之UDP協(xié)議詳細解讀

    Java網(wǎng)絡(luò)編程之UDP協(xié)議詳細解讀

    這篇文章主要介紹了Java網(wǎng)絡(luò)編程之UDP協(xié)議詳細解讀,UDP協(xié)議全稱是用戶數(shù)據(jù)報協(xié)議,在網(wǎng)絡(luò)中它與TCP協(xié)議一樣用于處理數(shù)據(jù)包,是一種無連接的協(xié)議,在OSI模型中,在第四層——傳輸層,處于IP協(xié)議的上一層,需要的朋友可以參考下
    2023-12-12
  • Java?Swing實現(xiàn)QQ登錄頁面

    Java?Swing實現(xiàn)QQ登錄頁面

    這篇文章主要為大家詳細介紹了Java?Swing實現(xiàn)QQ登錄頁面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 詳解Java接口簽名(Signature)實現(xiàn)方案

    詳解Java接口簽名(Signature)實現(xiàn)方案

    這篇文章主要介紹了Java接口簽名(Signature)實現(xiàn)方案?,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01
  • Java并發(fā)編程——volatile關(guān)鍵字

    Java并發(fā)編程——volatile關(guān)鍵字

    這篇文章主要介紹了Java并發(fā)編程——volatile關(guān)鍵字的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java并發(fā)編程,感興趣的朋友可以了解下
    2020-10-10
  • 淺談Java中強制類型轉(zhuǎn)換的問題

    淺談Java中強制類型轉(zhuǎn)換的問題

    下面小編就為大家?guī)硪黄獪\談Java中強制類型轉(zhuǎn)換的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • java 中List按照date排序的實現(xiàn)

    java 中List按照date排序的實現(xiàn)

    這篇文章主要介紹了java 中List按照date排序的實現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • java實現(xiàn)抽獎概率類

    java實現(xiàn)抽獎概率類

    這篇文章主要為大家詳細介紹了java實現(xiàn)抽獎概率類,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11

最新評論