快速尋找滿足條件的兩個數,讓這兩個數字之和等於乙個給定的數字
/**
* 快速尋找滿足條件的兩個數,讓這兩個數字之和等於乙個給定的數字
* */
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 ...