摘要:
从一个数组中找出两个数字,让这两个数字之和等于一个给定值。解题思路:第一印象是循环查找,从第一个数开始,取所有其后面的数与其相加,并判断是否为给定值。此复杂度为O(n2).这种复杂度为O(n2)的解法,又是在一个无序的数组中,可以尝试先将其排序,再看排序后是否可以简化循环过程。下面是一个排序后的数组:1,4,5,6,7,8,9想要找相加和为N,则设置两个指针指向两端(p指向第一个,q指向最后一个),如果当前所指两个数相加大于N,则说明不可能还有在q所指元素之后与q所指元素相加会小于等于N,所以指针q向前移,如果两个数相加小于N,说明不可能还有数在指针p所指元素之前与当前所指元素相加会大于等于N 阅读全文
posted @ 2012-12-26 19:16
小龙人2012
阅读(275)
评论(0)
推荐(0)
浙公网安备 33010602011771号