Avoiding overflow in getting mid index in Java (#25211)

* Avoiding overflow in getting mid index in Java

start + (end - start)/2 is preferable over (start + end)/2 to avoid overflow errors

* Update index.md
This commit is contained in:
Nitin Chauhan
2019-02-14 05:07:30 +05:30
committed by Randell Dawson
parent 7d30fdbe3a
commit ee9920fbb8

View File

@ -261,7 +261,7 @@ int binarySearch(int[] arr, int start, int end, int element)
{
while(start <= end)
{
int mid = ( start + end ) / 2;
int mid = start + ( end - start ) / 2;
if(arr[mid] == element)
return mid;
if(arr[mid] < element)
@ -276,9 +276,9 @@ int binarySearch(int[] arr, int start, int end, int element)
// Recursive Approach in Java
int binarySearch(int[] arr, int start,int end , int element)
{
if(start <= end)
if (end >= start)
{
int mid = ( start + end ) / 2;
int mid = start + ( end - start ) / 2;
if(arr[mid] == element)
return mid;
if(arr[mid] < element)