From c77d6df8bbd71812e1f09ce5591cbb5d0e62ca75 Mon Sep 17 00:00:00 2001 From: Leandro Doctors Date: Wed, 14 Apr 2021 02:04:27 -0300 Subject: [PATCH 1/2] BinarySearch: clearer median computation ">>> 1" is simply too obscure... --- Searches/BinarySearch.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Searches/BinarySearch.java b/Searches/BinarySearch.java index 65f1606dfd2f..4d70b8a87bb5 100644 --- a/Searches/BinarySearch.java +++ b/Searches/BinarySearch.java @@ -45,7 +45,7 @@ private > int search(T array[], T key, int left, int rig if (right < left) return -1; // this means that the key not found // find median - int median = left + ((right - left) >>> 1); + int median = left + ((right - left) / 2); int comp = key.compareTo(array[median]); if (comp == 0) { From 3f3ba1f05cdb30f094f1d94d86c4085291a69bb7 Mon Sep 17 00:00:00 2001 From: Du Yuanchao Date: Wed, 21 Apr 2021 09:20:40 +0800 Subject: [PATCH 2/2] update binary search Co-authored-by: Yang Libin --- Searches/BinarySearch.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Searches/BinarySearch.java b/Searches/BinarySearch.java index 4d70b8a87bb5..b7dc37dc9267 100644 --- a/Searches/BinarySearch.java +++ b/Searches/BinarySearch.java @@ -45,7 +45,7 @@ private > int search(T array[], T key, int left, int rig if (right < left) return -1; // this means that the key not found // find median - int median = left + ((right - left) / 2); + int median = (left + right) >>> 1; int comp = key.compareTo(array[median]); if (comp == 0) {