From fb47c8edb6421003f6e5a6bb3d7481ffb62f191d Mon Sep 17 00:00:00 2001 From: Sharyupatil01 Date: Wed, 28 Jan 2026 18:02:27 +0530 Subject: [PATCH] Added Binary Search Folder , and Related 2 folders -> 1) Binary Search on Answers & 2) Binary Search on 1d and included my approach to solve binary search on answers problems --- .vscode/c_cpp_properties.json | 18 ++ .vscode/launch.json | 24 +++ .vscode/settings.json | 59 +++++++ .../BinarySearchOnAnswers/AggressiveCow.java | 43 +++++ .../ApproachOnBinarySearchOnAnswers.md | 157 ++++++++++++++++++ .../CapacitytoShipPackageswithinDDays.java | 52 ++++++ .../FindthesmallestDivisor.java | 64 +++++++ .../KokaEatingBanana.java | 49 ++++++ .../KthMissingNumber.java | 48 ++++++ .../MinimumNoOfDaysToMakeBouquets.java | 68 ++++++++ .../BinarySearchOnAnswers/SquareRoot.java | 47 ++++++ .../photo_Animation_of_approach/image1.png | Bin 0 -> 62156 bytes .../photo_Animation_of_approach/image2.png | Bin 0 -> 76652 bytes .../Binary_On_1DArray/BinarySearch704.java | 23 +++ .../Binary_On_1DArray/CeilAndFloor.java | 49 ++++++ .../Binary_On_1DArray/FindKthRotation.java | 0 ...ndLastPositionOfElementInsSortedArray.java | 42 +++++ .../Binary_On_1DArray/Floor_Ceil.java | 1 + .../Binary_On_1DArray/LowerBound.java | 25 +++ .../Binary_On_1DArray/PeakElement.java | 68 ++++++++ .../SearchInsertPosition.java | 27 +++ .../SearchOneElementinSortedArray.class | Bin 0 -> 640 bytes .../SearchOneElementinSortedArray.java | 18 ++ .../Search_In_Rotated_Sorted_Array.java | 5 + .../Binary_On_1DArray/UpperBound.java | 28 ++++ 25 files changed, 915 insertions(+) create mode 100644 .vscode/c_cpp_properties.json create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json create mode 100644 Java/BinarySearch/BinarySearchOnAnswers/AggressiveCow.java create mode 100644 Java/BinarySearch/BinarySearchOnAnswers/ApproachOnBinarySearchOnAnswers.md create mode 100644 Java/BinarySearch/BinarySearchOnAnswers/CapacitytoShipPackageswithinDDays.java create mode 100644 Java/BinarySearch/BinarySearchOnAnswers/FindthesmallestDivisor.java create mode 100644 Java/BinarySearch/BinarySearchOnAnswers/KokaEatingBanana.java create mode 100644 Java/BinarySearch/BinarySearchOnAnswers/KthMissingNumber.java create mode 100644 Java/BinarySearch/BinarySearchOnAnswers/MinimumNoOfDaysToMakeBouquets.java create mode 100644 Java/BinarySearch/BinarySearchOnAnswers/SquareRoot.java create mode 100644 Java/BinarySearch/BinarySearchOnAnswers/photo_Animation_of_approach/image1.png create mode 100644 Java/BinarySearch/BinarySearchOnAnswers/photo_Animation_of_approach/image2.png create mode 100644 Java/BinarySearch/Binary_On_1DArray/BinarySearch704.java create mode 100644 Java/BinarySearch/Binary_On_1DArray/CeilAndFloor.java create mode 100644 Java/BinarySearch/Binary_On_1DArray/FindKthRotation.java create mode 100644 Java/BinarySearch/Binary_On_1DArray/FirstAndLastPositionOfElementInsSortedArray.java create mode 100644 Java/BinarySearch/Binary_On_1DArray/Floor_Ceil.java create mode 100644 Java/BinarySearch/Binary_On_1DArray/LowerBound.java create mode 100644 Java/BinarySearch/Binary_On_1DArray/PeakElement.java create mode 100644 Java/BinarySearch/Binary_On_1DArray/SearchInsertPosition.java create mode 100644 Java/BinarySearch/Binary_On_1DArray/SearchOneElementinSortedArray.class create mode 100644 Java/BinarySearch/Binary_On_1DArray/SearchOneElementinSortedArray.java create mode 100644 Java/BinarySearch/Binary_On_1DArray/Search_In_Rotated_Sorted_Array.java create mode 100644 Java/BinarySearch/Binary_On_1DArray/UpperBound.java diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 00000000..f9128470 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,18 @@ +{ + "configurations": [ + { + "name": "windows-gcc-x86", + "includePath": [ + "${workspaceFolder}/**" + ], + "compilerPath": "C:/MinGW/bin/gcc.exe", + "cStandard": "${default}", + "cppStandard": "${default}", + "intelliSenseMode": "windows-gcc-x86", + "compilerArgs": [ + "" + ] + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..611217c2 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,24 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "C/C++ Runner: Debug Session", + "type": "cppdbg", + "request": "launch", + "args": [], + "stopAtEntry": false, + "externalConsole": true, + "cwd": "c:/Users/HP/Data-Structures-and-Algorithms", + "program": "c:/Users/HP/Data-Structures-and-Algorithms/build/Debug/outDebug", + "MIMode": "gdb", + "miDebuggerPath": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..bb879da5 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,59 @@ +{ + "C_Cpp_Runner.cCompilerPath": "gcc", + "C_Cpp_Runner.cppCompilerPath": "g++", + "C_Cpp_Runner.debuggerPath": "gdb", + "C_Cpp_Runner.cStandard": "", + "C_Cpp_Runner.cppStandard": "", + "C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/VR_NR/Community/VC/Auxiliary/Build/vcvarsall.bat", + "C_Cpp_Runner.useMsvc": false, + "C_Cpp_Runner.warnings": [ + "-Wall", + "-Wextra", + "-Wpedantic", + "-Wshadow", + "-Wformat=2", + "-Wcast-align", + "-Wconversion", + "-Wsign-conversion", + "-Wnull-dereference" + ], + "C_Cpp_Runner.msvcWarnings": [ + "/W4", + "/permissive-", + "/w14242", + "/w14287", + "/w14296", + "/w14311", + "/w14826", + "/w44062", + "/w44242", + "/w14905", + "/w14906", + "/w14263", + "/w44265", + "/w14928" + ], + "C_Cpp_Runner.enableWarnings": true, + "C_Cpp_Runner.warningsAsError": false, + "C_Cpp_Runner.compilerArgs": [], + "C_Cpp_Runner.linkerArgs": [], + "C_Cpp_Runner.includePaths": [], + "C_Cpp_Runner.includeSearch": [ + "*", + "**/*" + ], + "C_Cpp_Runner.excludeSearch": [ + "**/build", + "**/build/**", + "**/.*", + "**/.*/**", + "**/.vscode", + "**/.vscode/**" + ], + "C_Cpp_Runner.useAddressSanitizer": false, + "C_Cpp_Runner.useUndefinedSanitizer": false, + "C_Cpp_Runner.useLeakSanitizer": false, + "C_Cpp_Runner.showCompilationTime": false, + "C_Cpp_Runner.useLinkTimeOptimization": false, + "C_Cpp_Runner.msvcSecureNoWarnings": false +} \ No newline at end of file diff --git a/Java/BinarySearch/BinarySearchOnAnswers/AggressiveCow.java b/Java/BinarySearch/BinarySearchOnAnswers/AggressiveCow.java new file mode 100644 index 00000000..889eb048 --- /dev/null +++ b/Java/BinarySearch/BinarySearchOnAnswers/AggressiveCow.java @@ -0,0 +1,43 @@ +public class AggressiveCow { + public static void main(String args[]) + { + int[] stalls={1,2,4,8,9}; + int cows=3; + int result=aggressiveCows(stalls,cows); + System.out.println("The largest minimum distance is : "+result); + } + public static int aggressiveCows(int[] stalls,int cows) + { + int left=1; + int right=stalls[stalls.length-1]-stalls[0]; + int answer=-1; + while(left<=right) + { + int mid=left+(right-left)/2; + if(canPlaceCows(stalls,cows,mid)) + { + answer=mid; + left=mid+1; + } + else{ + right=mid-1; + } + } + return answer; + } + public static boolean canPlaceCows(int[] stalls,int cows,int distance) + { + int countCows=1; + int lastPosition=stalls[0]; + for(int i=1;i=distance) + { + countCows++; + lastPosition=stalls[i]; + + } + } + return countCows>=cows; + } +} diff --git a/Java/BinarySearch/BinarySearchOnAnswers/ApproachOnBinarySearchOnAnswers.md b/Java/BinarySearch/BinarySearchOnAnswers/ApproachOnBinarySearchOnAnswers.md new file mode 100644 index 00000000..05f29206 --- /dev/null +++ b/Java/BinarySearch/BinarySearchOnAnswers/ApproachOnBinarySearchOnAnswers.md @@ -0,0 +1,157 @@ +

🌸 Minimum Number of Days to Make Bouquets

+ +

Problem Statement

+

+Untitled Diagram drawio +

+ +

You are given an integer array bloomDay[] where:

+ + + + +

Tasks

+
    +
  1. Return the minimum number of days required to make M bouquets
  2. +
  3. If it is not possible, return -1
  4. +
+ +
+ +

Key Observations

+ +

1️) Feasibility Check (Fail Fast)

+ +

To make M bouquets of K flowers each:

+ +
+Total flowers required = M × K
+
+ +

If:

+ +
+M × K > bloomDay.length
+
+ +

It is impossible to form the bouquets, so return -1.

+ +
+

+Untitled Diagram drawio (3) +

+ +

2️) Why Binary Search Works

+ +

This problem is not about searching indices.

+

It is about searchin

Define a function:

+ +
+CanMakeBouquet(day)
+
+ + + +

This creates a monotonic pattern:

+ +
+F F F F F T T T T
+
+ +

Perfect use case for Binary Search on Answer.

+ +
+ +

Approach

+ + + +
+ + +

Java Implementation

+ +
+
+
+class Solution {
+    public int minDays(int[] bloomDay, int m, int k) {
+
+        if ((long) m * k > bloomDay.length) return -1;
+
+        int low = Integer.MAX_VALUE, high = Integer.MIN_VALUE;
+        for (int day : bloomDay) {
+            low = Math.min(low, day);
+            high = Math.max(high, day);
+        }
+
+        int ans = -1;
+        while (low <= high) {
+            int mid = low + (high - low) / 2;
+
+            if (canMakeBouquet(bloomDay, m, k, mid)) {
+                ans = mid;
+                high = mid - 1;
+            } else {
+                low = mid + 1;
+            }
+        }
+        return ans;
+    }
+
+    private boolean canMakeBouquet(int[] bloomDay, int m, int k, int days) {
+        int count = 0;
+
+        for (int day : bloomDay) {
+            if (day <= days) {
+                count++;
+                if (count == k) {
+                    m--;
+                    count = 0;
+                }
+            } else {
+                count = 0;
+            }
+        }
+        return m <= 0;
+    }
+}
+
+
+
+ +
+ +

⏱ Complexity Analysis

+ + + +
+ +

+Binary Search is not only for sorted arrays.
+It can be applied whenever the answer space is monotonic. +

+ + + +
+ + + + diff --git a/Java/BinarySearch/BinarySearchOnAnswers/CapacitytoShipPackageswithinDDays.java b/Java/BinarySearch/BinarySearchOnAnswers/CapacitytoShipPackageswithinDDays.java new file mode 100644 index 00000000..ef904f9e --- /dev/null +++ b/Java/BinarySearch/BinarySearchOnAnswers/CapacitytoShipPackageswithinDDays.java @@ -0,0 +1,52 @@ +public class CapacitytoShipPackageswithinDDays { + public static void main(String args[]) + { + int[] weights={1,2,3,4,5,6,7,8,9,10}; + int days=5; + int result=shipWithinDays(weights,days); + System.out.println("The least weight capacity of the ship is : "+result); + + } + public static int shipWithinDays(int[] weights, int days) { + int left=0; + int right=0; + for(int weight:weights) + { + left=Math.max(left,weight); + right+=weight; + } + int answer=-1; + while(left<=right) + { + int mid=left+(right-left)/2; + if(canShip(weights,days,mid)) + { + answer=mid; + right=mid-1; + } + else{ + left=mid+1; + } + } + return answer; + } + public static boolean canShip(int[] weights,int days,int capacity) + { + int totalDays=1; + int currentLoad=0; + for(int weight:weights) + { + currentLoad+=weight; + if(currentLoad<=capacity) + { + continue; + } + else{ + totalDays++; + currentLoad=weight; + + } + } + return totalDays<=days; + } +} diff --git a/Java/BinarySearch/BinarySearchOnAnswers/FindthesmallestDivisor.java b/Java/BinarySearch/BinarySearchOnAnswers/FindthesmallestDivisor.java new file mode 100644 index 00000000..9b6e2e55 --- /dev/null +++ b/Java/BinarySearch/BinarySearchOnAnswers/FindthesmallestDivisor.java @@ -0,0 +1,64 @@ + +/* + +Find the Smallest Divisor Given a Threshold +Given an array of integers nums and an integer threshold, we will choose a positive integer divisor and +divide all the elements of the array by it and sum the division results. Find the smallest divisor such that +the result is less than or equal to threshold. + +Input: nums = [1,2,5,9], threshold = 6 +Output: 5 + +Approach : Binary Search +To find the smallest divisor, we can use binary search on the range of possible divisors. +Time Complexity: O(n log m) // n is the length of the array, m is the maximum element in the array +Space Complexity: O(1) + + + + +*/ + + + +public class FindthesmallestDivisor { + public static void main(String args[]) + { + int[] nums={1,2,5,9}; + int threshold=6; + int result=findSmallestDivisor(nums,threshold); + System.out.println("The smallest divisor is : "+result); + + } + public static int findSmallestDivisor(int[] nums, int threshold) { + int left=1; + int right=0; + for(int num:nums) + { + right=Math.max(right,num); + } + int answer=-1; + while(left<=right) + { + int mid=left+(right-left)/2; + if(isPossible(nums,threshold,mid)) + { + answer=mid; + right=mid-1; + } + else{ + left=mid+1; + } + } + return answer; + } + public static boolean isPossible(int[] nums,int threshold,int divisor) + { + long sum=0; + for(int num:nums) + { + sum+=Math.ceil((double)num/divisor); + } + return sum<=threshold; + } +} diff --git a/Java/BinarySearch/BinarySearchOnAnswers/KokaEatingBanana.java b/Java/BinarySearch/BinarySearchOnAnswers/KokaEatingBanana.java new file mode 100644 index 00000000..252a2bdc --- /dev/null +++ b/Java/BinarySearch/BinarySearchOnAnswers/KokaEatingBanana.java @@ -0,0 +1,49 @@ + + //Binary Search on Answers + //monotonic function + //CanEat - > F F F T T T + //We need to find first T ( Minimum k) + + //Time Complexity - O(N log M) where N is number of piles and M is max pile size + //Space Complexity - O(1) + +public class KokaEatingBanana { + public static void main(String args[]) + { + int piles[]={3,6,7,11}; + int h=8; + + + int low=1; + int high=0; + for(int i=0;i=m; + } +} diff --git a/Java/BinarySearch/BinarySearchOnAnswers/SquareRoot.java b/Java/BinarySearch/BinarySearchOnAnswers/SquareRoot.java new file mode 100644 index 00000000..4cc591c8 --- /dev/null +++ b/Java/BinarySearch/BinarySearchOnAnswers/SquareRoot.java @@ -0,0 +1,47 @@ +package BinarySearchOnAnswers; + +public class SquareRoot { + public static void main(String args[]) + { + int n=4; + //Approach 1 : Linear Search + // TC : O(sqrt(n)) + + for(int i=0;i<=n;i++) + { + if(i*i==n) + { + System.out.println(i); + break; + } + } + + //Approach 2 : Binary Search + // TC : O(log n) + + int start=1; + int end=n; + int ans=-1; + + while(start<=end) + { + int mid=start+(end-start)/2; + int square=mid*mid; + if(square==n) + { + ans=mid; + break; + } + else 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 QPxdLws>$SBHof!z0CA{M@Bjb+ literal 0 HcmV?d00001 diff --git a/Java/BinarySearch/BinarySearchOnAnswers/photo_Animation_of_approach/image2.png b/Java/BinarySearch/BinarySearchOnAnswers/photo_Animation_of_approach/image2.png new file mode 100644 index 0000000000000000000000000000000000000000..0edc40e7749d1d23f1400e73c1b08950b695e100 GIT binary patch literal 76652 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%0DnSI7X65}lc1)Bu;w;VzSM1;@9i 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 B2%G=_ literal 0 HcmV?d00001 diff --git a/Java/BinarySearch/Binary_On_1DArray/BinarySearch704.java b/Java/BinarySearch/Binary_On_1DArray/BinarySearch704.java new file mode 100644 index 00000000..1f7d6f36 --- /dev/null +++ b/Java/BinarySearch/Binary_On_1DArray/BinarySearch704.java @@ -0,0 +1,23 @@ +package Binary_On_1DArray; + +public class BinarySearch704 { + + public static int binarySearch(int[] arr, int target) { + int left = 0; + int right = arr.length - 1; + + while (left <= right) { + int mid = left + (right - left) / 2; + + if (arr[mid] == target) { + return mid; + } else if (arr[mid] < target) { + left = mid + 1; + } else { + right = mid - 1; + } + } + + return -1; // Target not found + } +} diff --git a/Java/BinarySearch/Binary_On_1DArray/CeilAndFloor.java b/Java/BinarySearch/Binary_On_1DArray/CeilAndFloor.java new file mode 100644 index 00000000..cd8a4a02 --- /dev/null +++ b/Java/BinarySearch/Binary_On_1DArray/CeilAndFloor.java @@ -0,0 +1,49 @@ +package Binary_On_1DArray; + +public class CeilAndFloor { + public static void main(String args[]) + { + int arr[]={1,2,3,4,5,7,8,9}; + int x=6; + System.out.println(ceil(arr,x) + " " + floor(arr,x)); + } + public static int ceil(int arr[],int x) + { + int start=0; + int end=arr.length-1; + int ans=-1; + while(start<=end) + { + int mid=(start+end)/2; + if(arr[mid]>=x) + { + ans=mid; + end=mid-1; + } + else{ + start=mid+1; + } + } + return ans; + } + public static int floor(int arr[],int x) + { + int start=0; + int end=arr.length-1; + int ans=-1; + while(start<=end) + { + int mid=(start+end)/2; + if(arr[mid]<=x) + { + ans=mid; + start=mid+1; + } + else + { + end=mid-1; + } + } + return ans; + } +} diff --git a/Java/BinarySearch/Binary_On_1DArray/FindKthRotation.java b/Java/BinarySearch/Binary_On_1DArray/FindKthRotation.java new file mode 100644 index 00000000..e69de29b diff --git a/Java/BinarySearch/Binary_On_1DArray/FirstAndLastPositionOfElementInsSortedArray.java b/Java/BinarySearch/Binary_On_1DArray/FirstAndLastPositionOfElementInsSortedArray.java new file mode 100644 index 00000000..d9f50f50 --- /dev/null +++ b/Java/BinarySearch/Binary_On_1DArray/FirstAndLastPositionOfElementInsSortedArray.java @@ -0,0 +1,42 @@ +package Binary_On_1DArray; +class FirstAndLastPositionOfElementInsSortedArray { + public int[] searchRange(int[] nums, int target) { + int low=0; + int high=nums.length-1; + int mid; + int index=-1; + while(low<=high) + { + mid=low+(high-low)/2; + if(nums[mid]==target) + { + index=mid; + break; + } + if(nums[mid]>target) + { + high=mid-1; + } + else + { + low=mid+1; + } + } + if(index==-1) + { + return new int[]{-1,-1}; + } + + int first=index; + int last=index; + while(first>0 && nums[first-1]==target) + { + first--; + } + while(last= target) { + ans = mid; + end = mid - 1; + } else { + start = mid + 1; + } + } + return ans; + } +} diff --git a/Java/BinarySearch/Binary_On_1DArray/PeakElement.java b/Java/BinarySearch/Binary_On_1DArray/PeakElement.java new file mode 100644 index 00000000..70b1a472 --- /dev/null +++ b/Java/BinarySearch/Binary_On_1DArray/PeakElement.java @@ -0,0 +1,68 @@ + +// Constraints: + +// 1 <= nums.length <= 1000 +// -231 <= nums[i] <= 231 - 1 +// nums[i] != nums[i + 1] for all valid i. + +// + +public class PeakElement { + public static void main(String args[]) + { + //Approach one Linear Scan + //TC: 0(N) + //SC: O(1) + int arr[]={1,2,1,3,5,6,4}; + + for(int i=0;iarr[i+1]) + { + System.out.println("Peak Element is " + arr[i]); + break; + } + + + } + else if (i==arr.length-1) + { + if(arr[i]>arr[i-1]) + { + System.out.println("Peak Element is " + arr[i]); + break; + } + } + + else + { + if(arr[i]>arr[i-1] && arr[i]>arr[i+1]) + { + System.out.println("Peak Element is " + arr[i]); + break; + } + } + + //Approach 2 Binary Search + //TC: O(log N) + int start=0; + int end=arr.length-1; + while(startarr[mid+1]) + { + end=mid; + } + else + { + start=mid+1; + } + } + + + } + } +} diff --git a/Java/BinarySearch/Binary_On_1DArray/SearchInsertPosition.java b/Java/BinarySearch/Binary_On_1DArray/SearchInsertPosition.java new file mode 100644 index 00000000..fecaf2f7 --- /dev/null +++ b/Java/BinarySearch/Binary_On_1DArray/SearchInsertPosition.java @@ -0,0 +1,27 @@ +package Binary_On_1DArray; + +public class SearchInsertPosition { + + public int searchInsert(int[] nums, int target) { + int low=0; + int high=nums.length-1; + int mid; + while(low<=high) + { + mid=(low)+(high-low)/2; + if(nums[mid]==target) + { + return mid; + } + if (nums[mid]>target) + { + high=mid-1; + } + else + { + low=mid+1; + } + } + return low; + } +} \ No newline at end of file diff --git a/Java/BinarySearch/Binary_On_1DArray/SearchOneElementinSortedArray.class b/Java/BinarySearch/Binary_On_1DArray/SearchOneElementinSortedArray.class new file mode 100644 index 0000000000000000000000000000000000000000..4a07a169a379b1ae372dcb481f8f87138abfc8fd GIT binary patch literal 640 zcmaJDeYYU4H?It_gt(!^QZVGwQ z-{FhJmp1_Nx(w#>%4P`;N&;>f3n>3Z4`+LY91&|gB~iUU-zXh-9_Ohl z!XlUP=%$NPs0w&xEaEi7(myy1Vxkq9V&Kc`E1Lo}hR&T-#rbS2P+QmT_3}KPbwU~E z!<|6M`q>S<>DeCz7GsPnCQ$9SvmuBpzfGS$vkNWJ9Gdrzc8=N?63h z7Z2mfoFj0a!FamP;D+OAK9mnqExi2S6McObT*4CdQx5}7ca*SBs}^}i-n#M$>^)5w z&JgM}U=p7FL;Vg;Lg2Mm`r<|=4o53rzj#K-)BlKyuF{xS z>C;9|TY`Vd&9KX3yj+=h!C%1uzg9;(=fhgbBn4Pw_|A7fSE9AiImk=4Wx7`i1F I=DRk30~N}JLI3~& literal 0 HcmV?d00001 diff --git a/Java/BinarySearch/Binary_On_1DArray/SearchOneElementinSortedArray.java b/Java/BinarySearch/Binary_On_1DArray/SearchOneElementinSortedArray.java new file mode 100644 index 00000000..c4617e9b --- /dev/null +++ b/Java/BinarySearch/Binary_On_1DArray/SearchOneElementinSortedArray.java @@ -0,0 +1,18 @@ +package binary.on.onedarray; + +public class SearchOneElementinSortedArray { + public void findUniqueElement() { + int arr[] = {1, 1, 2, 3, 3, 4, 4, 5, 5}; + int low = 0; + int high = arr.length - 1; + while (low < high) { + int mid = (low + high) / 2; + if ((mid % 2 == 0 && arr[mid] == arr[mid + 1]) || (mid % 2 == 1 && arr[mid] == arr[mid - 1])) { + low = mid + 1; + } else { + high = mid; + } + } + System.out.println(arr[low]); + } +} diff --git a/Java/BinarySearch/Binary_On_1DArray/Search_In_Rotated_Sorted_Array.java b/Java/BinarySearch/Binary_On_1DArray/Search_In_Rotated_Sorted_Array.java new file mode 100644 index 00000000..af953036 --- /dev/null +++ b/Java/BinarySearch/Binary_On_1DArray/Search_In_Rotated_Sorted_Array.java @@ -0,0 +1,5 @@ +package Binary_On_1DArray; + +public class Search_In_Rotated_Sorted_Array { + +} diff --git a/Java/BinarySearch/Binary_On_1DArray/UpperBound.java b/Java/BinarySearch/Binary_On_1DArray/UpperBound.java new file mode 100644 index 00000000..5e40351e --- /dev/null +++ b/Java/BinarySearch/Binary_On_1DArray/UpperBound.java @@ -0,0 +1,28 @@ +package Binary_On_1DArray; +public class UpperBound { + public static void main(String args[]) + { + int arr[]={1,2,3,4,5,7,8,9}; + int x=6; + System.out.println(upperBound(arr,x)); + } + public static int upperBound(int arr[],int x) + { + int start=0; + int end=arr.length-1; + int ans=arr.length; + while(start<=end) + { + int mid=(end+start)/2; + if(arr[mid]>x) + { + ans=mid; + end=mid-1; + } + else{ + start=mid+1; + } + } + return ans; + } +}