首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
输入一个按升序排序过的整数数组{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
32
问题
输入一个按升序排序过的整数数组{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年中国史真题)
晚清时期清帝年号的正确排序是()
17世纪英国资产阶级革命中,曾利用了古老文件同专制王权作斗争。这一古老文件是()
下列描述中,属于冯.诺依曼体系结构的特点是()。①采用流水线技术;②指令和数据均以二进制表示;③存储程序并且存储时不区别数据和指令。
某DRAM芯片内部存储元排列成1024.×1024的矩阵,且已知其存取周期为0.1μs,最大刷新间隔为2ms。当采用异步刷新方式时,死时间()。
已知加权有向图G如下,回答下列问题:(1)画出该有向图G的邻接矩阵;(2)试利用Dijkstra算法求G中从顶点a到其他各顶点间的最短路径,并给出求解过程。
现有一个解决无向连通图的最小生成树的一种方法如下:将图中所有边按权重从大到小排序为(e1,e2.…,em);i=l;while(所剩边数>=顶点数){从图中删去ei;若图不再连通,则恢复ei;i=i+l;
随机试题
下列说法正确的是().
MD-4散列算法中输入消息可以任意长度,但要进行分组,其分组的位数是()
教学过程的结构包括_______、感知教材、理解教材、巩固知识、运用知识和检查知识六个阶段。
可复性关节盘前移位时弹响杂音的特点是()
《中华人民共和国物权法》规定,法律规定权利作为物权()的,依照其法律规定。
甲公司2014年年初递延所得税负债的余额为零,递延所得税资产的余额为30万元(系2013年年末应收账款的可抵扣暂时性差异产生)。甲公司2014年度有关交易和事项的会计处理中,与税法规定存在差异的有:资料一:2014年1月1日,购入一项非专利技术并立即用于
美国的一个动物保护组织试图改变蝙蝠在人们心目中一直存在的恐怖形象。这个组织认为,蝙蝠之所以让人觉得可怕并遭到捕杀,仅仅是因为这些羞怯的动物在夜间表现得特别活跃。以下哪项如果为真,将对上述动物保护组织的观点构成最严重的质疑?
马赫主义认为真理是“思想形式”,是“社会组织起来的经验”,凡是多数人承认的就是真理;实用主义认为“有用即真理”这两种观点()
有以下程序:#includemain(){intk,j,s;for(k=2;k
TheCanterburyTaleswaswrittenby______.
最新回复
(
0
)