首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
输入一个按升序排序过的整数数组{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
69
问题
输入一个按升序排序过的整数数组{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://www.kaotiyun.com/show/aYxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
西藏自治区的设立时间是()。
外国侵略者通过不平等条约取得的特权中,按时间先后顺序排列应是()。①外国商船和军舰可以在长江各口岸自由航行②外国人可以在通商口岸开设工厂③可在通商口岸建立教堂④领事裁判权和片面最惠国待遇
()后,辽东局势起了根本变化,明朝在军事上失去主动进攻的力量,而后金则由防御转入进攻。
清朝入关初期执行了一些错误的政策,在社会上产生了不良的影响,其中不包括()。
西汉初年,反驳刘邦“马上治天下”的说法,并向汉帝国治国献策的是()。
1978年直接领导和发动真理标准问题讨论的中央领导人是()。
比较国民党改组前后的变化。(清华大学20l5年历史学基础真题)
南洋兄弟烟草公司的创办者之一是()。
十六国时期的历史,可以划分为前后两个时期,其分界线是()。
阅读材料回答以下问题:天既哀大地生人之多艰,黑帝乃降精而救民患,为神明,为圣王,为万世作师,为万民作保,为大地教主。生于乱世,乃据乱世而立三世之法,而垂精太平。乃因其所生之国,而立三世之义,而注意于大地远近、大小若一之大一统。乃立元以统天,以天为仁,以神
随机试题
风湿
系统性红斑狼疮有关补体C3的描述正确的是
中医在自然界中“五色”是指
一件专利申请由申请人甲于2003年4月3日向我国国家知识产权局提出发明专利申请,请判断下述各事实所披露的与该专利申请主题完全相同的技术内容中的哪一项不能否定该专利申请的新颖性?()
2000年以来,随着国内经济的快速发展、居民生活水平的提高以及人口老龄化的加剧,国内市场对医药产品的需求快速增长,世界著名医药跨国公司纷纷进入国内市场。神农医药公司(简称神农公司)是国内一家生产和经销药品及医疗器械的企业,由于缺乏拥有自主知识产权
针对上述第(1)项至第(6)项,逐项指出A注册会计师的做法是否恰当。如不恰当,简要说明理由。ABC会计师事务所的A注册会计师负责审计甲公司2016年度财务报表。与实质性程序相关的部分事项摘录如下:(1)甲公司年末存货余额包括库龄一年以上的某产成品
简述教师提高自身职业道德修养的方法。
当IP包头中TTL值减为0时,路由器发出的ICMP报文类型为()。
下列选项中,不属于数据管理员(DBA)职责的是()。
I’mnot______surewhetherTerrywillcomewithustomorrowevening.
最新回复
(
0
)