快速尋找滿足條件的兩個數

2021-06-18 20:48:23 字數 674 閱讀 1099

快速尋找滿足條件的兩個數,讓這兩個數字之和等於乙個給定的數字

/**

* 快速尋找滿足條件的兩個數,讓這兩個數字之和等於乙個給定的數字

* */

public class searchtwonum ;

quicksort.quicksort(a);

/* 假設sum=9 */

int sum = 9;

/* 設定兩個指標 */

int low = 0, high = a.length - 1;

boolean found = false;

while (low < high) else if(a[low]+a[high]= p)

a[low] = a[high];

while (low < high && a[low] <= p)

a[high] = a[low];

} int pos = low;

a[pos] = p; // 要插入的位置

return pos;

} public static void sort(int a, int low, int high)

} public static void quicksort(int a)

}

快速尋找滿足條件的兩個數

2012 04 18 16 41 2.12快速尋找滿足條件的兩個數 程式設計師程式設計藝術之五 第一節 尋找滿足條件的兩個數 第14題 陣列 題目 輸入乙個陣列和乙個數字,在陣列中查詢兩個數,使得它們的和正好是輸入的那個數字。要求時間複雜度是o n 如果有多對數字的和等於輸入的數字,輸出任意一對即可...

快速尋找滿足條件的兩個數(程式設計之美)

快速找出乙個陣列中的兩個數,讓此兩個數之和等於乙個給定的數。如 5 6 1 4 7 9 8 中找出兩個數之和等於10的數 程式設計之美之美p177有詳細解答過程,思路是先排序 o nlog n 然後儲存兩個指標beg end,初始指向頭部和尾部,如過 beg end sum,則返回 如果 beg e...

程式設計之美 快速尋找滿足條件的兩個數

能否快速找出乙個陣列中的兩個數字,讓這兩個數字之和等於乙個給定的值,為了簡化起見,我們假設這個陣列中肯定存在至少一組符合要求的解。法一 最直接的方法就是,窮舉法,複雜度為o n 2 法二 利用sum減去a i 再查詢sum a i 是否在陣列裡,這時候就變成查詢了,可利用二分查詢 排序的複雜度為o ...