假设我有一些已经排序数字,比如1、3、4、5、8、9、13等等,求一个算法,能从其中找出两个数,让他们的和为某一个确定的数,如果第一次找到,就可以停止了。
#include <stdio.h>#include <stdlib.h>#include <string.h>/********************************************************************************************************************************************************************begin:2012 10 20********假设我有一些已经排序数字,比如1、3、4、5、8、9、13等等,求一个算法,能从其中找出两个数,让他们的和为某一个确定的数,如果第一次找到,就可以停止了。****要求算法复杂度为O(n)。****end : 2012 10 20**** 1) array[i] = i 2)i + (sum -i) = sum 3)array[i] + array[sum -i] = sum************************************************************************************************************************************************************/void main(){int array[10] = {0, 0, 0, 3, 0, 0, 0, 7, 0, 9};int sum = 10;for(int i = 0; i < 10; i++){if(array[sum - i] + array[i] == sum ){return ;}}}