原文:面試-算法 已經排好序的數組中求兩個數的和等於N

已知一個拍好序的數組,長度為M 在其中找兩個數,其和為N 剛剛拿到這個題目的時候,首先的常規想法是遍歷循環求出所有數的和,最終其值為N的就是結果,這個算法時間復雜度為o N N 可能還有一些擴展的想法,那就是先把數組中比N大的元素去掉,這樣少檢查幾個元素 這是典型的程序員思維,太早開始考慮實現細節了 作為一個算法題目首先要把算法復雜度降低下來,然后再考慮常數C。。。不要太早開始考慮這種相對不重要的 ...

2011-12-23 22:34 6 2637 推薦指數:

查看詳情

查找兩個已經排好數組的第k大的元素

題目意思:給出兩個排好數組 ,不妨設為a,b都按升序排列,及k的值,求出第k大的那個元素。 分析這個題目,如果題目沒有時間復雜度的要求,我們可以定義兩個指針i,j分別指向a,b,如果a[i]<b[j]則i++否則 j++,這個記錄下走了多少步,如果==k步,則找到了第k大的元素 ...

Sun Apr 01 04:19:00 CST 2012 0 4073
有一個已經排好數組,要求輸入一個數后,按原來順序的規律將它插入數組

有一個已經排好數組,要求輸入一個數后,按原來順序的規律將它插入數組 【答案解析】 將數據插入到已排序的序列,只需步即可: 找待插入元素在數組的插入位置 插入元素 具體如下: 注意:極端情況下,end可能會被減為-1,比如在上述序列插入0 【代碼實現 ...

Sun Sep 13 22:16:00 CST 2020 0 1445
有一個已經排好數組,要求輸入一個數后,按原來順序的規律將它插入數組

有一個已經排好數組,要求輸入一個數后,按原來順序的規律將它插入數組 【答案解析】 將數據插入到已排序的序列,只需步即可: 找待插入元素在數組的插入位置 插入元素 具體如下: 注意:極端情況下,end可能會被減為-1,比如在上述序列插入0 【代碼實現 ...

Mon Jul 27 23:04:00 CST 2020 0 1059
面試兩個數和為某個數、幾個連續數等於個數

  問題1、輸入一個遞增排序數組和一個數字s,在數組查找兩個數,使得它們的和正好是s,如果有多對數字的和等於s,輸出任意一對即可。   顯然,很快能想到的是使用蠻力法(O(n2)),先固定一個數字,再判斷剩下的n-1個數字與它的和是否等於s。這種效率顯然有點低,我們可以使用下面比較快的方式 ...

Tue Jul 28 22:57:00 CST 2015 4 2891
有一個已經排好數組,要求輸入一個數后,按原來順序的規律將它插入數組

有一個已經排好數組,要求輸入一個數后,按原來順序的規律將它插入數組 【答案解析】 將數據插入到已排序的序列,只需步即可: 找待插入元素在數組的插入位置 插入元素 具體如下: 注意:極端情況下,end可能會被減為-1,比如在上述序列插入0 【代碼實現 ...

Thu Jul 09 23:44:00 CST 2020 0 10035
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM