本文主要是介绍找出一个有序数组中任意2数之和等于给出的第三个数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
人人网:
给出一个有序数组,另外给出第三个数,问是否能在数组中找到两个数,这两个数之和等于第三个数
,左右共同开始,使用“碰撞”的方式进行匹配,只需遍历一次数组即可算出结果。
我们首先看到第一句话,这个数组是有序的,所以,我们可以定义两个指针,一个指向数组的第一个元素,另一个指向应该指向的位置(这个需要看具体的实现和数组给定的值),首先计算两个位置的和是否等于给定的第三个数,如果等于则算法结束,如果大于,则尾指针向头指针方向移动,如果小于,则头指针向尾指针方向移动,当头指针大于等于尾指针时算法结束,没有找到这样的两个数。
这篇关于找出一个有序数组中任意2数之和等于给出的第三个数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!