Leetcode:merge_sorted_array,leetcode

來源:互聯網
上載者:User

Leetcode:merge_sorted_array,leetcode

一、     題目

將給定的兩個排好序的數組合并成一個有序數組。

二、     分析

看到題目後感覺很簡單,就是比較兩個數組中的元素嘛,但是剛開始發現如果合并到A[]中從前到後的話可能會導致原資料該,怎樣才能避免這種錯誤呢?於是想到了逆向合并,從後往前填入數組。


class Solution {public:    void merge(int A[], int m, int B[], int n) {        int length=m+n-1;    m--;    n--;        for(int i=length;i>=0;i--){        if (m == -1 || (n != -1 && A[m] <= B[n])) {                  A[i] = B[n--];              }              else {                  A[i] = A[m--];              }                      }    }};class Solution {public:    void merge(int A[], int m, int B[], int n) {    int length=m+n-1;    int i=m-1;    int j=n-1;        while (i >= 0 && j >= 0)            A[length--] = A[i] > B[j] ? A[i--] : B[j--] ;        while (i >= 0)            A[length--] = A[i--] ;        while (j >= 0)            A[length--] = B[j--] ;    }};


 


leetcode 使用步驟 怎進去編程

步驟一:在瀏覽器輸入www.leetcode.com
步驟二:點擊右上方註冊
步驟三:註冊登入後,點擊右上方的Online judge
步驟四:可能又會讓你登入,點擊sing in而不是sign up,輸入使用者名稱密碼登入:
步驟五:選個題目,然後選擇語言,在代碼編輯器中輸入代碼,然後submit solution,系統就會給你判斷結果正確與否。所有提交的代碼系統都會給你儲存,在my submission中可以查看
 
leetcode是什

裡面有很編程多面試的題目,可以線上編譯運行。難度比較高。如果自己能都做出來,對面大公司很有協助。我就是做的那裡的題目。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.