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

2021-06-06 06:06:32 字數 469 閱讀 1120

方法一:直接兩層迴圈(o(n*n))

// find_sum.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include void find_sum(int a,int n ,int sum,int *first,int* second)

return false;

}int _tmain(int argc, _tchar* argv)

; int first,second;

bool result=findtwonum(a,15,6,&first,&second);

printf("排序後");

for (int i=0;i<6;i++)

printf("\n");

if (result)

else

return 0;

}

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

快速找出乙個陣列中的兩個數,讓此兩個數之和等於乙個給定的數。如 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 ...

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

題目 能否快速找出乙個陣列中的兩個數字,讓這兩個數字之和等於乙個給定的值m。解法一 窮舉 o n 2 解法二 先排序,再二分查詢m a i 排序o nlogn 每個數二分查詢o nlgon 總的時間複雜度o nlogn 解法三 hash表,給定乙個數字,根據hash對映查詢另乙個數字是否在陣列中,o...