From 09b3fb0cad29a9b9afe1181ff1a603595da25cf6 Mon Sep 17 00:00:00 2001 From: Soumyajoy Das <70829126+soumyajoy01@users.noreply.github.com> Date: Mon, 4 Oct 2021 11:18:34 +0530 Subject: [PATCH 1/3] Added Binary Search problem in Java along with detailed solution --- Java/BinarySearch.java | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 Java/BinarySearch.java diff --git a/Java/BinarySearch.java b/Java/BinarySearch.java new file mode 100644 index 0000000..93762f8 --- /dev/null +++ b/Java/BinarySearch.java @@ -0,0 +1,35 @@ + //Link:https://leetcode.com/problems/binary-search/ + + public class BinarySearch { + + public static void main(String[] args) { + int[] arr = {-18, -12, -4, 0, 2, 3, 4, 15, 16, 18, 22, 45, 89}; + int target = 22; + int ans = binarySearch(arr, target); + System.out.println(ans); + } + + // return the index + // return -1 if it does not exist + static int binarySearch(int[] arr, int target) { + int start = 0; + int end = arr.length - 1; + + while(start <= end) { + // find the middle element +// int mid = (start + end) / 2; // might be possible that (start + end) exceeds the range of int in java + int mid = start + (end - start) / 2; + + if (target < arr[mid]) { + end = mid - 1; + } else if (target > arr[mid]) { + start = mid + 1; + } else { + // ans found + return mid; + } + } + return -1; + } +} + From d7f4e079f36d1507a4ca110d7a29d723f13a8e37 Mon Sep 17 00:00:00 2001 From: Soumyajoy Das <70829126+soumyajoy01@users.noreply.github.com> Date: Mon, 4 Oct 2021 11:21:19 +0530 Subject: [PATCH 2/3] Added Binary Search problem in Java along with detailed solution --- Java/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Java/README.md b/Java/README.md index 9b64e83..1de5999 100644 --- a/Java/README.md +++ b/Java/README.md @@ -5,3 +5,4 @@ 1 : Two Sum
7 : Reverse Integer
9 : Palindrome Number
+704: Binary Search
From 46b60ac29b1eab16ba50300b6e0a92deb72a52cf Mon Sep 17 00:00:00 2001 From: Soumyajoy Das <70829126+soumyajoy01@users.noreply.github.com> Date: Mon, 4 Oct 2021 11:23:26 +0530 Subject: [PATCH 3/3] Binary Search Solution Added in Java --- Java/BinarySearch.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Java/BinarySearch.java b/Java/BinarySearch.java index 93762f8..450f304 100644 --- a/Java/BinarySearch.java +++ b/Java/BinarySearch.java @@ -9,15 +9,12 @@ public static void main(String[] args) { System.out.println(ans); } - // return the index - // return -1 if it does not exist static int binarySearch(int[] arr, int target) { int start = 0; int end = arr.length - 1; while(start <= end) { - // find the middle element -// int mid = (start + end) / 2; // might be possible that (start + end) exceeds the range of int in java + int mid = start + (end - start) / 2; if (target < arr[mid]) { @@ -25,7 +22,6 @@ static int binarySearch(int[] arr, int target) { } else if (target > arr[mid]) { start = mid + 1; } else { - // ans found return mid; } }