A) first sort the array, -- nlog(n)
B) sort the array ascending (from index 0 to n-1). Have two pointers, one at max and one at min (call them M and m respectively).
If a[M] + a[m] > I then M--
If a[M] + a[m] < I then m++
If a[M] + a[m] == I you have found it
If m > M, no such numbers exist.
totally should be O(n)
http://stackoverflow.com/questions/4895405/checking-if-2-numbers-of-array-add-up-to-i
♥ ¸¸.•*¨*•♫♪♪♫•*¨*•.¸¸♥
No comments:
Post a Comment