TBD快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值
思想是排序后
bool getSumNum(int[] arr,int Sum), //arr为数组,Sum为和 { int i,j; for(i = 0, j = n-1; i < j ; ) { if(arr[i] + arr[j] == Sum) return true; else if(arr[i] + arr[j] < Sum) i++; else j--; } return true; }
whu的oj上面,求的是在数组中找三个位置不同(value可以相同)的元素,使得C=A+B
,,,我一开始是unordered_map的做法,平方的时间复杂度超时了。
目前还不知做法。