Two Diff
public boolean twoDiff(int[] array, int diff){ for(int i = 0; i < array.length - 1; i++){ int target = array[i] + diff; if(binarySearch(target, array, i + 1)) return true; } return false; } private boolean binarySearch(int target, int[] array, int start){ int end = array.length - 1; // binary search while(start < end - 1){ int mid = start + (end - start) / 2; if(array[mid] == target) { return true; }else if(array[mid] < target){ start = mid; }else{ // array[mid] > target end = mid; } } if(array[start] == target) return true; if(array[end] == target) return true; return false; }
Two Diff
[1, 3, 5, 6, 7, 9], target 4. return true/false
n
1 + 4 = 5 , n
hashset = ( 1, 1, 3, 5, 6, 7, 9), 0
posted on 2018-09-10 09:51 猪猪🐷 阅读(141) 评论(0) 收藏 举报
浙公网安备 33010602011771号