udpate binarySeach with if + return oneline

This commit is contained in:
King
2018-01-06 08:47:30 -05:00
parent 8696edabf0
commit 0825c161cd

View File

@ -8,13 +8,11 @@ Search a sorted array by repeatedly dividing the search interval in half. Begin
const binarySearch = (arr, val, start = 0, end = arr.length - 1) => { const binarySearch = (arr, val, start = 0, end = arr.length - 1) => {
if (start > end) return -1; if (start > end) return -1;
const mid = Math.floor((start + end) / 2); const mid = Math.floor((start + end) / 2);
return (arr[mid] > val) if (arr[mid] > val) return binarySearch(arr, val, start, mid - 1);
? binarySearch(arr, val, start, mid - 1) if (arr[mid] < val) return binarySearch(arr, val, mid + 1, end);
: (arr[mid] < val) return mid;
? binarySearch(arr, val, mid + 1, end)
: mid
} }
``` ```
```js ```js
binarySearch([1, 4, 6, 7, 12, 13, 15, 18, 19, 20, 22, 24], 6); // 2 binarySearch([1, 4, 6, 7, 12, 13, 15, 18, 19, 20, 22, 24], 6); // 2