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

力扣每日一題88:合并兩個有序數(shù)組

這篇具有很好參考價值的文章主要介紹了力扣每日一題88:合并兩個有序數(shù)組。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

題目描述:

給你兩個按?非遞減順序?排列的整數(shù)數(shù)組?nums1?和?nums2,另有兩個整數(shù)?m?和?n?,分別表示?nums1?和?nums2?中的元素數(shù)目。

請你?合并?nums2?到?nums1?中,使合并后的數(shù)組同樣按?非遞減順序?排列。

注意:最終,合并后數(shù)組不應由函數(shù)返回,而是存儲在數(shù)組?nums1?中。為了應對這種情況,nums1?的初始長度為?m + n,其中前?m?個元素表示應合并的元素,后?n?個元素為?0?,應忽略。nums2?的長度為?n?。

示例 1:

輸入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3
輸出:[1,2,2,3,5,6]
解釋:需要合并 [1,2,3] 和 [2,5,6] 。
合并結果是 [1,2,2,3,5,6] ,其中斜體加粗標注的為 nums1 中的元素。

示例 2:

輸入:nums1 = [1], m = 1, nums2 = [], n = 0
輸出:[1]
解釋:需要合并 [1] 和 [] 。
合并結果是 [1] 。

示例 3:

輸入:nums1 = [0], m = 0, nums2 = [1], n = 1
輸出:[1]
解釋:需要合并的數(shù)組是 [] 和 [1] 。
合并結果是 [1] 。
注意,因為 m = 0 ,所以 nums1 中沒有元素。nums1 中僅存的 0 僅僅是為了確保合并結果可以順利存放到 nums1 中。

提示:

  • nums1.length == m + n
  • nums2.length == n
  • 0 <= m, n <= 200
  • 1 <= m + n <= 200
  • -109 <= nums1[i], nums2[j] <= 109

進階:你可以設計實現(xiàn)一個時間復雜度為?O(m + n)?的算法解決此問題嗎?

通過次數(shù)

1.1M

提交次數(shù)

2M

通過率

52.9%

方法一、連入后排序

先把nums2里面的數(shù)組加入nums1后面,然后對nums1排序

class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        for(int i=0;i<n;i++)
        {
            nums1[m+i]=nums2[i];
        }
        sort(nums1.begin(),nums1.end());
    }
};

方法二、向后覆蓋

先設置兩個指針i,j,分別指向nums1的最后一個非零元素和nums2的最后一個元素,再設置一個k指向nums1的最后一個元素。當i>=0&&j>=0時,當i,j指向的比較大的數(shù)放到k的位置,k前移,i或j前移。最后再將剩余元素覆蓋。文章來源地址http://www.zghlxwxcb.cn/news/detail-725635.html

class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        int i=m-1,j=n-1;
        int k=m+n-1;
        while(i>=0&&j>=0)
        {
            if(nums1[i]>=nums2[j])
            {
                nums1[k]=nums1[i];
                k--;
                i--;
            }
            else
            {
                nums1[k]=nums2[j];
                k--;
                j--;
            }
        }
        if(i>=0)
        {
            while(i>=0)
            {
                nums1[k]=nums1[i];
                k--;
                i--;
            }
        }
        if(j>=0)
        {
            while(j>=0)
            {
                nums1[k]=nums2[j];
                k--;
                j--;
            }
        }
    }
};

到了這里,關于力扣每日一題88:合并兩個有序數(shù)組的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • Leetcode每日一題——“合并兩個有序數(shù)組”

    Leetcode每日一題——“合并兩個有序數(shù)組”

    各位CSDN的uu們你們好呀,又到小雅蘭的愉快題解時候啦,今天,我們的題目內容是合并兩個有序數(shù)組,下面,讓我們進入合并兩個有序數(shù)組的世界吧 示例 1: 輸入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3 輸出:[1,2,2,3,5,6] 解釋:需要合并 [1,2,3] 和 [2,5,6] 。 合并結果是 [ 1,2

    2023年04月24日
    瀏覽(37)
  • 2023-08-13 LeetCode每日一題(合并兩個有序數(shù)組)

    2023-08-13 LeetCode每日一題(合并兩個有序數(shù)組)

    點擊跳轉到題目位置 給你兩個按 非遞減順序 排列的整數(shù)數(shù)組 nums1 和 nums2,另有兩個整數(shù) m 和 n ,分別表示 nums1 和 nums2 中的元素數(shù)目。 請你 合并 nums2 到 nums1 中,使合并后的數(shù)組同樣按 非遞減順序 排列。 **注意:**最終,合并后數(shù)組不應由函數(shù)返回,而是存儲在數(shù)組 num

    2024年02月13日
    瀏覽(28)
  • leetcode 88 合并兩個有序數(shù)組

    題目描述: 給你兩個按 非遞減順序 排列的整數(shù)數(shù)組?nums1 和 nums2,另有兩個整數(shù) m 和 n ,分別表示 nums1 和 nums2 中的元素數(shù)目。 請你 合并 nums2 到 nums1 中,使合并后的數(shù)組同樣按 非遞減順序 排列。 注意:最終,合并后數(shù)組不應由函數(shù)返回,而是存儲在數(shù)組 nums1 中。為了應

    2024年02月03日
    瀏覽(19)
  • 【Leetcode】88.合并兩個有序數(shù)組

    給你兩個按 非遞減順序 排列的整數(shù)數(shù)組 nums1 和 nums2 ,另有兩個整數(shù) m 和 n ,分別表示 nums1 和 nums2 中的元素數(shù)目。 請你 合并 nums2 到 nums1 中,使合并后的數(shù)組同樣按 非遞減順序 排列。 注意 :最終,合并后數(shù)組不應由函數(shù)返回,而是存儲在數(shù)組 nums1 中。為了應對這種情況

    2024年02月12日
    瀏覽(25)
  • LeetCode88——合并兩個有序數(shù)組

    LeetCode88——合并兩個有序數(shù)組

    給你兩個按 非遞減順序 排列的整數(shù)數(shù)組 nums1 和 nums2,另有兩個整數(shù) m 和 n ,分別表示 nums1 和 nums2 中的元素數(shù)目。 請你 合并 nums2 到 nums1 中,使合并后的數(shù)組同樣按 非遞減順序 排列。 注意:最終,合并后數(shù)組不應由函數(shù)返回,而是存儲在數(shù)組 nums1 中。 為了應對這種情況

    2024年02月08日
    瀏覽(26)
  • Leetcode. 88合并兩個有序數(shù)組

    Leetcode. 88合并兩個有序數(shù)組

    合并兩個有序數(shù)組 核心思路: 依次比較,取較小值放入新數(shù)組中 i 遍歷nums1 , j 遍歷nums2 ,取較小值放入nums3中 那如果nums[i] 和nums[j]中相等,隨便放一個到nums3 那如果nums[i] 和nums[j]中相等,隨便放一個到nums3 此時 nums1 中的元素已經(jīng)走完了,那么直接把 nums2 中剩下的元素拿到

    2023年04月08日
    瀏覽(24)
  • LeetCode_88. 合并兩個有序數(shù)組

    目錄 題目描述 思路分析 我的題解 給你兩個按 非遞減順序 排列的整數(shù)數(shù)組?nums1 和 nums2,另有兩個整數(shù) m 和 n ,分別表示 nums1 和 nums2 中的元素數(shù)目。 請你 合并 nums2 到 nums1 中,使合并后的數(shù)組同樣按 非遞減順序 排列。 注意:最終,合并后數(shù)組不應由函數(shù)返回,而是存儲

    2023年04月15日
    瀏覽(21)
  • ?LeetCode解法匯總88. 合并兩個有序數(shù)組

    https://github.com/September26/java-algorithms 給你兩個按? 非遞減順序 ?排列的整數(shù)數(shù)組? nums1 ? 和? nums2 ,另有兩個整數(shù)? m ?和? n ?,分別表示? nums1 ?和? nums2 ?中的元素數(shù)目。 請你? 合并 ? nums2 ? 到? nums1 ?中,使合并后的數(shù)組同樣按? 非遞減順序 ?排列。 注意: 最終,合并

    2024年02月12日
    瀏覽(29)
  • 88. 合并兩個有序數(shù)組、Leetcode的Python實現(xiàn)

    博客主頁:??李歘歘的博客 ?? ??每天不定期分享一些包括但不限于計算機基礎、算法、后端開發(fā)相關的知識點,以及職場小菜雞的生活。?? ??點關注不迷路,總有一些??知識點??是你想要的?? ??今天的內容是 ? ? Leetcode? 88. 合并兩個有序數(shù)組? ?? ? ?????????

    2024年02月06日
    瀏覽(23)
  • LeetCode-Java:88合并兩個有序數(shù)組

    給你兩個按 非遞減順序 排列的整數(shù)數(shù)組 nums1 和 nums2 ,另有兩個整數(shù) m 和 n ,分別表示 nums1 和 nums2 中的元素數(shù)目。 請你 合并 nums2 到 nums1 中,使合并后的數(shù)組同樣按 非遞減順序 排列。 注意:最終,合并后數(shù)組不應由函數(shù)返回,而是存儲在數(shù)組 nums1 中。為了應對這種情況

    2024年02月05日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領取紅包

二維碼2

領紅包