首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
输入一个按升序排序过的整数数组{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
65
问题
输入一个按升序排序过的整数数组{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
学硕统考专业
相关试题推荐
试析19世纪60年代列强对华政策的变化原因。(北京大学2006年中国通史真题)
西藏自治区的设立时间是()。
战国初期,上党地区在下列哪一个国家的控制范围之内?()
二战后主要资本主义国家经济恢复和发展的杠杆是()①政府采取宏观调控政策②发展国家垄断资本主义③充分利用科技成果④加强国际经济联系
电子计算机的发展经过了四代,①电子数值积分计算机(ENIAC);②集成电路计算机;③大规模集成电路计算机;④晶体管计算机;⑤人工智能计算机,其先后顺序是()。
“瓜步之战”发生在下列哪两个政权之间?()
十六国时期的历史,可以划分为前后两个时期,其分界线是()。
改革开放以后,我国农村产业结构巨大的转变表现在()。
现有一个解决无向连通图的最小生成树的一种方法如下:将图中所有边按权重从大到小排序为(el,e2,…,em);i=1;while(所剩边数>=顶点数){从图中删去ei;若图不再连通。则恢复ei;i=
随机试题
举例说明普通话中“轻声”的作用。
根据涉及时间长短及范围广狭的综合性标准将计划分类为()。
慢性化脓性中耳炎的常见分型是
正常外周血粒细胞依据颗粒特点的不同分为
张女穿行马路时遇车祸,致两颗门牙缺失。交警出具的责任认定书认定司机负全责。张女因无法与肇事司机达成赔偿协议,遂提起民事诉讼,认为司机虽赔偿3,000元安装假牙,但假牙影响接吻,故司机还应就她的“接吻权”受到损害予以赔偿。关于本案,下列哪一选项是正确的?(
背景:某建设单位新建办公楼,与甲施工单位签订施工总承包合同。该工程门厅大堂内墙设计做法为干挂石材,多功能厅隔墙设计做法为石膏板骨架隔墙。施工过程中发生下列事件:事件一:建设单位将该工程所有门窗单独发包,并与具备相应资质条件的乙施工单位签
根据我国《建设工程安全生产管理条例》的规定,对下列不属于达到一定规模的危险性较大的分部分项工程编制专项施工方案,并附具安全验算结果,经施工单位技术负责人、总监理工程师签字后实施,由专职安全生产管理人员进行现场监督的工程是()。
当前,信息化浪潮一次比一次更猛烈地冲击着我们的“头脑”,只有不断深入阅读,体验并适应数字化生存方式,了解新时代的“精神本质”和“生存法则”,培育出一种“世界眼光”和“世界精神”,才能从容、理性、睿智地面对新世界、新生活。新时代读什么书?必须结合世界发展大势
中华人民共和国的国家机构实行( )原则。
Educationisalongprocessthatnotonlyprovidesuswithbasicskillssuchasliteracyandnumeracy,butisalsoessentialin
最新回复
(
0
)