udpate binarySeach with if + return oneline
This commit is contained in:
@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user