例如下面的数组就是绝对值排序:
A:-49, 75, 103, -147, 164,-197,-238,314,348,-422
给定一个整数k,请你从数组中找出两个元素下标i,j,使得A[i]+A[j...m,如果在(i+1,n)中存在下标j,满足A[j] == m 那么我们就可以直接返回配对(i,j),这种做法在数组元素全是正数,全是负数,以及是绝对值排序时都成立,只是在绝对值排序的数组中,进行二分查找时...但我们还可以找到效率更高的算法,假设数组中的元素全是同一符号,也就是全是正数,或全是负数时,要找到A[i]+A[j] == k,我们可以这么做:
1,让i = 0, j = n-1, 如果A[i] +...对于满足A[i]+A[j] == k的元素,它必定满足下面三种情况之一:
1,A[i]和A[j]都是正数。
2,A[i]和A[j]都是负数。
3,A[i]和A[j]是一正一负。...,它先根据两元素都是正数的情况下查找,然后再根据两元素都是负数的情况下查找,如果这两种情况都找不到,再尝试两元素一正一负的情况下查找,如果三种情况都找不到满足条件的元素,那么这样的元素在数组中不存在。