From 04d750c85f23ae2b6da85531961f186176b529ca Mon Sep 17 00:00:00 2001 From: Sai Lalitha Sunaina Madgula Date: Tue, 14 Oct 2025 17:25:53 -0400 Subject: [PATCH] Binary-search-1 --- 2DMatrix.java | 30 ++++++++++++++++++++++++++++++ RotatedSortedArray.java | 33 +++++++++++++++++++++++++++++++++ UnkownSortedArray.java | 28 ++++++++++++++++++++++++++++ 3 files changed, 91 insertions(+) create mode 100644 2DMatrix.java create mode 100644 RotatedSortedArray.java create mode 100644 UnkownSortedArray.java diff --git a/2DMatrix.java b/2DMatrix.java new file mode 100644 index 00000000..c0772e84 --- /dev/null +++ b/2DMatrix.java @@ -0,0 +1,30 @@ +class Solution { + public boolean searchMatrix(int[][] matrix, int target) { + if(matrix == null || matrix.length ==0){ + return false; + } + int m = matrix.length; + int n = matrix[0].length; + int low = 0; + int high = m*n - 1; + + while(low<=high){ + int mid = low + (high-low)/2; + int r = mid/n; + int c = mid % n; + if(matrix[r][c] == target){ + return true; + } + else if(matrix[r][c] < target){ + low = mid + 1; + + } + else{ + high = mid - 1; + } + } + + return false; + } + +} \ No newline at end of file diff --git a/RotatedSortedArray.java b/RotatedSortedArray.java new file mode 100644 index 00000000..05bb6bf6 --- /dev/null +++ b/RotatedSortedArray.java @@ -0,0 +1,33 @@ +class Solution { + public int search(int[] nums, int target) { + int low = 0; + int high = nums.length-1; + + while(low <= high){ + int mid = low + (high-low)/2; + if(nums[mid] == target){ + return mid; + } + + else if(nums[low] <= nums[mid]){ + if(nums[low]<=target && target target) { + high = mid - 1; + } else { + low = mid + 1; + } + } + + return -1; // not found + } +}