From e4089273830ba0b4df22501a60925e7c5e4258f2 Mon Sep 17 00:00:00 2001 From: Sai Lalitha Sunaina Madgula Date: Tue, 14 Oct 2025 17:30:46 -0400 Subject: [PATCH] Binary-Search-2 --- First&LastSortedArray.java | 33 ++++++++++++++++++++++++++ MinimumRotatedSortedArray.java | 43 ++++++++++++++++++++++++++++++++++ PeakElement.java | 17 ++++++++++++++ 3 files changed, 93 insertions(+) create mode 100644 First&LastSortedArray.java create mode 100644 MinimumRotatedSortedArray.java create mode 100644 PeakElement.java diff --git a/First&LastSortedArray.java b/First&LastSortedArray.java new file mode 100644 index 00000000..c07a59a3 --- /dev/null +++ b/First&LastSortedArray.java @@ -0,0 +1,33 @@ +class Solution { + public int[] searchRange(int[] nums, int target) { + int left = 0; + int right=nums.length; + int[] pos = {-1,-1}; + while(leftnums[mid]) + { + left = left+1; + } + else if (target < nums[mid]) + { + right=right-1; + } + else + { + left = mid; + right=mid; + while(left>=0 && nums[left]==target) + left=left-1; + while(right nums[mid+1]){ + return nums[mid+1]; + } + + if( nums[mid-1] > nums[mid]){ + return nums[mid]; + } + + + + if(nums[mid] > nums[0]){ + left = mid+1; + } + + else{ + right = mid-1; + } + } + + return 0; + + } +} \ No newline at end of file diff --git a/PeakElement.java b/PeakElement.java new file mode 100644 index 00000000..e694cfdb --- /dev/null +++ b/PeakElement.java @@ -0,0 +1,17 @@ +class Solution { + public int findPeakElement(int[] nums) { + int left = 0; + int right = nums.length - 1; + + while (left < right) { + int mid = (left + right) / 2; + if (nums[mid] > nums[mid + 1]) { + right = mid; + } else { + left = mid + 1; + } + } + + return left; + } +} \ No newline at end of file