假设我有一些已经排序数字,比如1、3、4、5、8、9、13等等,求一个算法,能从其中找出两个数,让他们的和为某一个确定的数,如果第一次找到,就可以停止了。

来源:互联网 发布:包头广电网络客服电话 编辑:程序博客网 时间:2024/06/06 03:22
#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 ;}}}

原创粉丝点击