首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
输入一个按升序排序过的整数数组{1、2、4、7、11、15}以及一个整数数字15,可以从该数组中找到两个数字,即4和11,使得4+11=15。请实现一个时间上尽可能高效率的算法,输入一个已经按升序排序过的整数数组和一个整数数字,在数组中查找两个数,使得它们
输入一个按升序排序过的整数数组{1、2、4、7、11、15}以及一个整数数字15,可以从该数组中找到两个数字,即4和11,使得4+11=15。请实现一个时间上尽可能高效率的算法,输入一个已经按升序排序过的整数数组和一个整数数字,在数组中查找两个数,使得它们
admin
2014-04-17
43
问题
输入一个按升序排序过的整数数组{1、2、4、7、11、15}以及一个整数数字15,可以从该数组中找到两个数字,即4和11,使得4+11=15。请实现一个时间上尽可能高效率的算法,输入一个已经按升序排序过的整数数组和一个整数数字,在数组中查找两个数,使得它们的和正好是输入的那个整数数字。如果有多对数字的和等于输入的整数数字,输出任意一对即可。要求:
根据设计思想,采用C、C++或Java语言描述算法,关键之处给出注释。
选项
答案
算法实现如下: bool FindTwoNumbersWithSum ( //以下都为FindTwoNumberswithsum函数的参数 int data[], //已排序的数组 uns igned int length, //已排序数组的长度 int&numl, //第一个数字 int&num2, //第二个数字 int sum, //输入的整数数字 ) { bool found=false; //空数组将会出错 if(1ength<1) return found; int ahead=length一1; int behind=0; while(ahead>behind) { int curSum=data[ahead]+data[behind]; //如果两个数之和恰好等于输入的数字 if(curSum=sum) { num1=data[behind]; num2=data[ahead]; found=true; break; } //如果两个数之和大于输入的数字,将大的数字减小 else if(curSum>sum) ahead--; //如果两个数之和小于输入的数字,将小的数字加大 else behind++; } return found; }
解析
转载请注明原文地址:https://kaotiyun.com/show/aYxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
试析英法绥靖政策和美国中立政策的原因。(南京大学2013年国际关系史真题)
对三国鼎立到隋朝重新统一全国这段历史时期的政局,叙述正确的是()。①只有西晋有过短暂的统一②大多数时间是多个政权分立、南北对峙的复杂政局③西晋、北魏、东晋都有过短暂的统一④除三国分立以外,其他时间基本上处于统
玛雅人的金字塔主要功能是()。
解析两个战场的地位、作用及相互关系。
1946年5月,中共中央发布的实现“耕者有其田”政策的重要文件是()。
与前两次工业革命相比,第三次科技革命在能源结构上的主要变化是()
解放军渡江战役中横渡长江的东西两个攻击点是()。
某32位机(机器字长32位)的一台外设通过32位总线与系统内存相连。CPU每秒执行100条指令,平均每条指令需要5个机器周期,其中3个周期必须访问内存,内存读写需一个机器周期,假定CPU在95%的时间内持续执行“背景程序”,且这段时间内不执行I/O指令。现
下列描述中,属于冯.诺依曼体系结构的特点是()。①采用流水线技术;②指令和数据均以二进制表示;③存储程序并且存储时不区别数据和指令。
现有一个长度为3000B的IP数据报,其IP头部的长度为20B,该IP数据报如在最大帧长度为1518B的以太网中进行传输,那么为了正确传输,需要将其拆分的数据报个数是()。
随机试题
“不管白猫、黑猫,抓到老鼠就是好猫”,此谚语能够生动地描述某种道德观的基本精神。这种道德观是()
病孩王阿毛是下列哪部作品中的人物形象()
海浮石的功能是________、________、_______;礞石的功效是________、________。
上肢伸展肌力的高强度作业活动为
下列属于会计数据处理功能基本要求的有()。
甲公司是制造业企业,采用管理用财务报表进行分析,下列各项中,属于甲公司金融负债的有()。
在“3.15”消费者权益日的活动中,对甲、乙两家商场售后服务的满意度进行了抽查,如图反映了被抽查用户对两家商场售后服务的满意程度(以下称:用户满意度),分为很不满意、不满意、较满意、很满意四个等级,并依次记为1分、2分、3分、4分.请你根据所学的统计知
《刑法》第6条:“凡在中华人民共和国领域内犯罪的,除法律有特别规定的以外,都适用本法。凡在中华人民共和国船舶或者航空器内犯罪的,也适用本法。犯罪的行为或者结果有一项发生在中华人民共和国领域内的,就认为是在中华人民共和国领域内犯罪。”请分析:第1款中法
以下程序的输出结果是【】。fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(6,3,a)printf("%d,a)}
What’stheconversationmainlyabout?
最新回复
(
0
)