首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
输入一个按升序排序过的整数数组{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
2017-11-20
58
问题
输入一个按升序排序过的整数数组{1、2、4、7、11、15}以及一个整数数字15,我们可以从该数组中找到两个数字,即4和11,使得4+11=15。请实现一个时间上尽可能高效率的算法,当输入一个已经按升序排序过的整数数组和一个整数数字,在数组中查找两个数,使得它们的和正好是输入的那个整数数字。如果有多对数字的和等于输入的整数数字,输出任意一对即可。要求:
根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
选项
答案
算法实现如下: boo1 indTwoNumbersWithSum { //以下都为FindTwoNumbersWithSum函数的参数 int data [], //己排序的数组 unsigned int length, //已排序数组的长度 int&num1, //第一个数字 int&num2, //第二个数字 int sum, //输入的整数数字 } { boo1 found=faise; //空数组将会出错 if(1ength<1) return found; int ahead=length-1; int behind=0; while(ahead>behind) { int curSum=data[ahead]+data[behind]; //如果两个数之和恰好等于输入的数字 i f(curSum==sum) { numl=data[behind]; num2=data[ahead]; found=true, break; } //如果两个数之和大于输入的数字,将大的数字减少 else if(curSum>sum) ahead--; //如果两个数之和小于输入的数字,将小的数字加大 else behind++; } return found; }
解析
转载请注明原文地址:https://kaotiyun.com/show/2VRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
水门事件
明朝初加强专制统治的措施中,与后来宦官专权有直接关系的是()。
毛泽东认为,社会主义这个阶段可分为两个阶段,包括()。
洪武年间修复过的水利工程有()。
蒋介石在国民党的()全国代表大会上的对外关系演说表示国民党对日关系开始发生变化。
在“冷战”形成的过程中,影响苏联领导人对美政策变化的关键性事件是()。
试析淝水之战前后南北政权的特点和变化。
根据下列史料,说明朝鲜社会性质发生了怎样的变化。第四款朝鲜釜山之草粱项设有日本公馆,久为两国人民通商之地。从今日起,改革从前惯例及岁遣船等事,以此次新订条款为标准,办理贸易事务,朝鲜政府开放第五款所载两口岸,准日本人民往来通商,随意在该两地租借地
1854年,英国外交大臣致函英国驻华公使说:“为了适应外商对农业产品已增加了的需要,新的贸易市场尚待开辟。”1856年,法国外长则指令法国驻华代办强调“商业关系的推广”,并强调“这是一个关系到至高无上权益的问题”。这说明()。
随机试题
子宫淋巴管会注入以下淋巴结,除了
A、.心脾B、.肝肺C、.脾肾D、.心肾E、.肝肾“乙癸同源”的“乙癸”所指的脏是
在我国,慢性二尖瓣关闭不全的最常见病因是
中央企业发生重大法律纠纷案件,涉及诉讼或仲裁的,应当自立案之日起1个月内报()备案。
某隧道长560m、净宽12.20m、净高8.10m,采用激光断面仪和水准仪对其开挖断面进行测量,本次测量断面属Ⅳ级围岩。测得开挖断面轮廓如下图所示,拱部最大超挖为(),最大欠挖为(),边墙单侧最大超挖()。
一个盒子中5个红球,5个白球,现按照如下方式,求取到2个红球和2个白球的概率.一次性抽取4个球;
设f(x,y)=,试讨论f(x,y)在点(0,0)处的连续性,可偏导性和可微性.
Thestateisanetworkofexchangedbenefitsandbeliefs,(i)____betweenrulersandcitizensbasedonthoselawsandprocedures
Hadn’titbeenforyourhelp,I(be)______nowstillstrugglingwiththedifficultmathsproblems.
A、Howtoeffectivelycommunicatewithotherpeople.B、Thenecessityofcompletinganytaskeffectively.C、Whysomeofushavebe
最新回复
(
0
)