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:
committed by
Randell Dawson
parent
7d30fdbe3a
commit
ee9920fbb8
@ -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)
|
||||
|
Reference in New Issue
Block a user