第 14 題(數組):題目:輸入一個已經按升序排序過的數組和一個數字,在數組中查找兩個數,使得它們的和正好是輸入的那個數字。要求時間復雜度是 O(n)。如果有多對數字的和等於輸入的數字,輸出任意一對即可。例如輸入數組 1、2、4、7、11、15 和數字 15。由於 4+11=15,因此輸出 ...
要求時間復雜度是O n 。如果有多對數字的和等於輸入的數字M,輸出任意一對即可。例如輸入數組 和數字 。由於 ,因此輸出 和 。 思路: 讓指針指向數組的頭部和尾部,相加,如果小於M,則增大頭指針,如果大於則減小尾指針 退出的條件,相等或者頭部 尾部 算法: void function int a ,int n,int M int i ,j n while i j if a i a j M pri ...
2012-05-25 17:01 0 6636 推薦指數:
第 14 題(數組):題目:輸入一個已經按升序排序過的數組和一個數字,在數組中查找兩個數,使得它們的和正好是輸入的那個數字。要求時間復雜度是 O(n)。如果有多對數字的和等於輸入的數字,輸出任意一對即可。例如輸入數組 1、2、4、7、11、15 和數字 15。由於 4+11=15,因此輸出 ...
題目: 輸入一個遞增排序的數組和一個數字 s。 在數組中查找兩個數,使得它們的和正好是 s。 如果有多對數字的和等於 s,輸出任意一對即可。 解答: ...
); System.out.println("請輸入一個整數:"); int num = scan.nextInt(); boolean ...
題目如下:現有一個數組長度為n+1,里面存放有1到n-2,順序不定,其中有兩個數字出現了兩次,現在要找出那兩個數字。 例子A={2, 3, 1, 4, 5, 2, 4}, 這個數組長度為7,存放了1到5,但2和4出現了兩次,程序輸出2和4 方法1 蠻力查找 主要思想:對於數組中的第i個數 ...
問題的起因 假設數組A有n個元素,數組B有n個元素。 看到這種題的時候,我們最直觀的就是通過兩層for循環來對比每個數組中的數字。因此A數組中的每個元素都會和B數組中的每個元素對比過一次,所以總共要對比的次數是n個n相加(或者是n個m相加),也就是n2(或者為n x m). 因此我們想能不能 ...
普通版:可輸入,可輸出。帶詳細的注釋 1 2 3 4 5 6 7 8 9 ...
#include<iostream> #include<string.h> using namespace std; void MergeArray(int a[],i ...