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

劍指29.順時(shí)針打印矩陣 31 棧的壓入,彈出序列 03 數(shù)組中的重復(fù)數(shù)字 53缺失的數(shù)字 04二維數(shù)組中的查找

這篇具有很好參考價(jià)值的文章主要介紹了劍指29.順時(shí)針打印矩陣 31 棧的壓入,彈出序列 03 數(shù)組中的重復(fù)數(shù)字 53缺失的數(shù)字 04二維數(shù)組中的查找。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

劍指29.順時(shí)針打印矩陣 31 棧的壓入,彈出序列 03 數(shù)組中的重復(fù)數(shù)字 53缺失的數(shù)字 04二維數(shù)組中的查找,矩陣,算法,線性代數(shù)

class Solution {
public:
    vector<int> spiralOrder(vector<vector<int>>& matrix) { 
        if (matrix.size() == 0 || matrix[0].size() == 0return {};//必須要寫到最前面,因?yàn)閞ight和bottom-1就是負(fù)數(shù)了
        vector<int> result;
        int left=0,right=matrix[0].size()-1;//從一行的第一個(gè)lleft到最后一個(gè)right
        int top=0,bottom=matrix.size()-1;//從一列的最上面到最下面
        int i=0,j=0;
        while(1)
        {
            for(int i=left;i<=right;i++)
            { 
            result.push_back(matrix[top][i]);
            }
            top++;
            if(top>bottom) break;
            for(int j=top;j<=bottom;j++)
            {
                result.push_back(matrix[j][right]);
            }
            right--;
            if(left>right) break;
            for(int i=right;i>=left;i--)
            {
                result.push_back(matrix[bottom][i]);
            }
            bottom--;
            if(top>bottom) break;
            for(int j=bottom;j>=top;j--)
            {
                result.push_back(matrix[j][left]);
            }
            left++;
            if(left>right) break;
        }
        return result;


    }
};

回字形
劍指29.順時(shí)針打印矩陣 31 棧的壓入,彈出序列 03 數(shù)組中的重復(fù)數(shù)字 53缺失的數(shù)字 04二維數(shù)組中的查找,矩陣,算法,線性代數(shù)
思路:pushed數(shù)組里遍歷進(jìn)棧,遍歷時(shí)候,先進(jìn)棧,再判斷棧頂是否和poped序列的當(dāng)前指向的是否一樣,一樣就pop,直到不一樣為止,然后繼續(xù)遍歷進(jìn)棧。然后再判斷棧里面剩余的和poped序列指向的一不一樣,一樣,就把棧里面的pop,直到棧為空,只要有一個(gè)不一樣,就return 0,最后棧為空,poped序列也遍歷完了,flag=1.
劍指29.順時(shí)針打印矩陣 31 棧的壓入,彈出序列 03 數(shù)組中的重復(fù)數(shù)字 53缺失的數(shù)字 04二維數(shù)組中的查找,矩陣,算法,線性代數(shù)
這題用的哈希集合,想著一會(huì)就寫出來(lái)了,但是,算了先貼出腦殘代碼,尼瑪哈希集合的count值只能是找不到(0),找得到(1),沒(méi)有其他的取值!?。。。?!我說(shuō)怎么給我return 0呢?。∥艺媸莻€(gè)大蠢貨

class Solution {
public:
    int findRepeatNumber(vector<int>& nums) {
        unordered_set<int> hs;
        for(int i=0;i<nums.size();i++)
        {
            hs.emplace(nums[i]);//比emplace更高效率的插入
            if(hs.count(nums[i])>1) return nums[i];//count只能是0,1
        }
        return 0;
    }
};

稍稍改一下就行了

class Solution {
public:
    int findRepeatNumber(vector<int>& nums) {
        unordered_set<int> hs;
        for(int i=0;i<nums.size();i++)
        {
            if(hs.count(nums[i])==1) return nums[i];
            hs.emplace(nums[i]);//比emplace更高效率的插入
        }
        return 0;
    }
};

這邊記錄一下為什么empalce比insert更高效,emplace是調(diào)用拷貝構(gòu)造函數(shù)(一氣呵成),構(gòu)造插入元素的時(shí)候已經(jīng)賦值;inset是先構(gòu)造一個(gè)元素,再調(diào)用重載運(yùn)算符號(hào),進(jìn)行賦值
當(dāng)然push_back也是屬于先構(gòu)造元素,然后調(diào)用重載運(yùn)算符進(jìn)行賦值,不太行
劍指29.順時(shí)針打印矩陣 31 棧的壓入,彈出序列 03 數(shù)組中的重復(fù)數(shù)字 53缺失的數(shù)字 04二維數(shù)組中的查找,矩陣,算法,線性代數(shù)
哈希表

class Solution {
public:
    int search(vector<int>& nums, int target) {
        unordered_map<int,int>mp;
        for(int i=0;i<nums.size();i++)
        {
            mp[nums[i]]++;
        }
        return mp[target];
    }
};

劍指29.順時(shí)針打印矩陣 31 棧的壓入,彈出序列 03 數(shù)組中的重復(fù)數(shù)字 53缺失的數(shù)字 04二維數(shù)組中的查找,矩陣,算法,線性代數(shù)

class Solution {
public:
    int missingNumber(vector<int>& nums) {
        int val=nums[0];
        int res=0;
        for(int i=0;i<nums.size();i++)
        {
            if(nums[i]!=val++) return val-1;
            if(i==nums.size()-1)
            {
                if(nums[0]==1) return 0;//特殊情況 只有一個(gè)元素【1】的時(shí)候,缺的是0,不是2
                res=nums[i]+1;
            }
        }
        return res;
    }
};

劍指29.順時(shí)針打印矩陣 31 棧的壓入,彈出序列 03 數(shù)組中的重復(fù)數(shù)字 53缺失的數(shù)字 04二維數(shù)組中的查找,矩陣,算法,線性代數(shù)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-593217.html

到了這里,關(guān)于劍指29.順時(shí)針打印矩陣 31 棧的壓入,彈出序列 03 數(shù)組中的重復(fù)數(shù)字 53缺失的數(shù)字 04二維數(shù)組中的查找的文章就介紹完了。如果您還想了解更多內(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)文章

  • LeetCode——棧的壓入、彈出序列

    LeetCode——棧的壓入、彈出序列

    這里我用下面的例子子來(lái)講解一下 模擬棧的實(shí)現(xiàn) 。 例子1:pushed = [1,2,3,4,5] popped = [4,5,3,2,1] 思路:第一步:我們先創(chuàng)建一個(gè)棧,然后將pushed的數(shù)據(jù)壓進(jìn)去 第二步:判斷! 當(dāng)壓入棧的數(shù)據(jù)和popped第一個(gè)數(shù)據(jù)一樣的時(shí)候,我們就出數(shù)據(jù)。ps:這時(shí)可以用一個(gè)posi來(lái)記錄要比較的數(shù)

    2024年02月10日
    瀏覽(15)
  • 劍指Offer-29-順時(shí)針打印矩陣

    劍指Offer-29-順時(shí)針打印矩陣

    劍指Offer-29題 題目描述:順時(shí)針打印矩陣 輸入一個(gè)矩陣,按照從外向里以順時(shí)針的順序依次打印出每一個(gè)數(shù)字。 **題解思路:**使用 模擬 的方法 定義四個(gè)邊界變量表示當(dāng)前要遍歷的邊界:上(top)、下(bottom)、左(left)、右(right),條件結(jié)束的標(biāo)志是[上邊界=下邊界 且 左邊界=有邊

    2024年02月13日
    瀏覽(23)
  • 劍指 Offer 29. 順時(shí)針打印矩陣

    劍指 Offer 29. 順時(shí)針打印矩陣

    輸入一個(gè)矩陣,按照從外向里以順時(shí)針的順序依次打印出每一個(gè)數(shù)字。 示例 1: 輸入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 輸出:[1,2,3,6,9,8,7,4,5] 示例 2: 輸入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] 輸出:[1,2,3,4,8,12,11,10,9,5,6,7] 限制: 0 = matrix.length = 100 0 = matrix[i].length = 100 思路:首先自己

    2024年02月15日
    瀏覽(29)
  • 【LeetCode-中等】劍指 Offer 29. 順時(shí)針打印矩陣(詳解)

    【LeetCode-中等】劍指 Offer 29. 順時(shí)針打印矩陣(詳解)

    輸入一個(gè)矩陣,按照從外向里以順時(shí)針的順序依次打印出每一個(gè)數(shù)字。 示例 1: 示例 2: 劍指 Offer 29. 順時(shí)針打印矩陣 - 力扣(LeetCode) 與 力扣54題相同 54.?螺旋矩陣 二維數(shù)組順時(shí)針從外往里走 可以想象成:按照 右-》下-》左 -》上 的順序一直走,走過(guò)的地方不要走即可。

    2024年02月13日
    瀏覽(18)
  • 【LeetCode-簡(jiǎn)單】劍指 Offer 29. 順時(shí)針打印矩陣(詳解)

    【LeetCode-簡(jiǎn)單】劍指 Offer 29. 順時(shí)針打印矩陣(詳解)

    輸入一個(gè)矩陣,按照從外向里以順時(shí)針的順序依次打印出每一個(gè)數(shù)字。 示例 1: 示例 2: 劍指 Offer 29. 順時(shí)針打印矩陣 - 力扣(LeetCode) 與 力扣54題相同 54.?螺旋矩陣 二維數(shù)組順時(shí)針從外往里走 可以想象成:按照 右-》下-》左 -》上 的順序一直走,走過(guò)的地方不要走即可。

    2024年02月09日
    瀏覽(26)
  • 劍指 Offer 29. 順時(shí)針打印矩陣 / LeetCode 54. 螺旋矩陣(模擬)

    劍指 Offer 29. 順時(shí)針打印矩陣 / LeetCode 54. 螺旋矩陣(模擬)

    鏈接:劍指 Offer 29. 順時(shí)針打印矩陣;LeetCode 54. 螺旋矩陣 難度:中等 給你一個(gè) m 行 n 列的矩陣 matrix ,請(qǐng)按照 順時(shí)針螺旋順序 ,返回矩陣中的所有元素。 示例 1: 輸入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 輸出:[1,2,3,6,9,8,7,4,5] 示例 2: 輸入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] 輸出:

    2024年02月15日
    瀏覽(22)
  • Leetcode-每日一題【劍指 Offer 29. 順時(shí)針打印矩陣】

    Leetcode-每日一題【劍指 Offer 29. 順時(shí)針打印矩陣】

    輸入一個(gè)矩陣,按照從外向里以順時(shí)針的順序依次打印出每一個(gè)數(shù)字。 示例 1: 輸入: matrix = [[1,2,3],[4,5,6],[7,8,9]] 輸出: [1,2,3,6,9,8,7,4,5] 示例 2: 輸入: matrix =?[[1,2,3,4],[5,6,7,8],[9,10,11,12]] 輸出: [1,2,3,4,8,12,11,10,9,5,6,7] 限制: 0 = matrix.length = 100 0 = matrix[i].length?= 100 1.題目要求

    2024年02月13日
    瀏覽(28)
  • 劍指offer(C++)-JZ29:順時(shí)針打印矩陣(算法-模擬)

    劍指offer(C++)-JZ29:順時(shí)針打印矩陣(算法-模擬)

    作者:翟天保Steven 版權(quán)聲明:著作權(quán)歸作者所有,商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處 題目描述: 輸入一個(gè)矩陣,按照從外向里以順時(shí)針的順序依次打印出每一個(gè)數(shù)字,例如,如果輸入如下4 X 4矩陣: 則依次打印出數(shù)字 數(shù)據(jù)范圍: 0 = matrix.length = 100 0 = ma

    2024年02月10日
    瀏覽(21)
  • 數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí) jz29 順時(shí)針打印矩陣

    數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí) jz29 順時(shí)針打印矩陣

    :模擬 簡(jiǎn)單題做了超過(guò)40分鐘 調(diào)了很久 不好? 我自己做的。 xy_t: 記錄xy的方向,往右走,往下走,往左走,往上走 t控制方向 isx: ????????true:輪到x方向動(dòng) ? ? ? ? false:輪到y(tǒng)方向動(dòng) n_res m_res: ? ? ? ? n_res:還沒(méi)走過(guò)的行數(shù)(x方向) ????????m_res:還沒(méi)走

    2024年01月17日
    瀏覽(19)
  • 【算法】順時(shí)針打印矩陣(圖文詳解,代碼詳細(xì)注釋

    【算法】順時(shí)針打印矩陣(圖文詳解,代碼詳細(xì)注釋

    目錄 題目 代碼如下: 輸入一個(gè)矩陣,按照從外向里以順時(shí)針的順序依次打印出每一個(gè)數(shù)字。例如:如果輸入如下矩陣: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 則打印出數(shù)字:1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10 這一道題乍一看,沒(méi)有包含任何復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和高級(jí)算法,似乎蠻簡(jiǎn)單的。但

    2024年04月26日
    瀏覽(18)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包