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;
}
}