1 / 13
文档名称:

(招聘面试)程序员面试题精选.pdf

格式:pdf   大小:649KB   页数:13页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

(招聘面试)程序员面试题精选.pdf

上传人:好用的文档 2021/12/23 文件大小:649 KB

下载得到文件列表

(招聘面试)程序员面试题精选.pdf

相关文档

文档介绍

文档介绍:: .
(招聘面试)程序员面试题
精选 : .
程序员面试题精选100(10)-于排序数组中查找和为给定值的俩个数字 题
数组2007-03-1415:25:01466315阅读评论字号:大中小订阅
题目:输入壹个已经按升序排序过的数组和壹个数字,于数组中查找俩个数,使得它们的和正好是输入的那
个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意壹对即可。
例如输入数组1、2、4、7、11、1515。由于4+11=15,因此输出411。 和数字和
分析:如果我们不考虑时间复杂度,最简单想法的莫过去先于数组中固定壹个数字,再依次判断数组中剩下
的n-1O(n个数字和它的和是不是等于输入的数字。可惜这种思路需要的时间复杂度是 2)。
我们假设当下随便于数组中找到俩个数。如果它们的和等于输入的数字,那太好了,我们找到了要找的俩个
数字;如果小于输入的数字呢?我们希望俩个数字的和再大壹点。由于数组已经排好序了,我们是不是能够
把较小的数字的往后面移动壹个数字?因为排于后面的数字要大壹些,那么俩个数字的和也要大壹些,就有
可能等于输入的数字了;同样,当俩个数字的和大于输入的数字的时候,我们把较大的数字往前移动,因为
排于数组前面的数字要小壹些,它们的和就有可能等于输入的数字了。
我们把前面的思路整理壹下:最初我们找到数组的第壹个数字和最后壹个数字。当俩个数字的和大于输入的
数字时,把较大的数字往前移动;当俩个数字的和小于数字时,把较小的数字往后移动;当相等时,打完收
工。这样扫描的顺序是从数组的俩端向数组的中间扫描。
问题是这样的思路是不是正确的呢?这需要严格的数学证明。感兴趣的读者能够自行证明壹下。
参考代码:
///////////////////////////////////////////////////////////////////////
//Findtwonumberswithasuminasortedarray
//Output:tureisfoundsuchtwonumbers,otherwisefalse
///////////////////////////////////////////////////////////////////////
boolFindTwoNumbersWithSum
(
intdata[],//asortedarray
unsignedintlength,//thelengthofthesortedarray
intsum,//thesum
int&num1,//thefirstnumber,output

最近更新

2022年期货从业资格之期货投资分析精选题库(.. 41页

2022年期货从业资格之期货投资分析包过题库及.. 42页

2022年期货从业资格之期货基础知识完整题库含.. 41页

2022年最新期货从业资格之期货投资分析题库大.. 42页

2022年最新期货从业资格之期货投资分析及参考.. 41页

2022年最新期货从业资格之期货基础知识完整题.. 42页

2022年最新劳务员之劳务员基础知识通用 42页

2022年最新劳务员之劳务员专业管理实务题库附.. 41页

2022年最新劳务员之劳务员专业管理实务完整题.. 41页

中英双语计划书 31页

种植桃树计划书 31页

项目复工复产计划书 35页

楼盘营销推进计划书 33页

裙子创业计划书 32页

2022年劳务员之劳务员基础知识题库大全含答案.. 42页

2022年劳务员之劳务员基础知识完整版及答案【.. 42页

2022年劳务员之劳务员专业管理实务题库大全精.. 41页

脱贫产业计划书 33页

考研生涯计划书 33页

男生护肤攻略计划书 33页

精神扶贫计划书 30页

【教学创新大赛】“五心”元素,“5E”教学——.. 8页

饭堂厨房设备施工方案 6页

人教版四年级数学下册《小数的意义》ppt课件 25页

正弦变频器EM说明书 3页

安全标兵申报材料 9页

材料结构表征及应用知识点总结 6页

装饰公司总经理——工作计划书 13页

DTSF1352 DTSD1352三相电子式多功能表安装使用.. 13页

《药师琉璃光七佛本愿功德经》.pdf 53页