From 6d521527260950809175959854cd1ab02ff9d253 Mon Sep 17 00:00:00 2001 From: Disha Patel Date: Wed, 10 Sep 2025 20:58:38 -0500 Subject: [PATCH] Mock1 Completed --- FindMissingInSortedArray.java | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 FindMissingInSortedArray.java diff --git a/FindMissingInSortedArray.java b/FindMissingInSortedArray.java new file mode 100644 index 00000000..4a838fee --- /dev/null +++ b/FindMissingInSortedArray.java @@ -0,0 +1,29 @@ + +// TC: O(logn) +// SC: O(1) +// Approach: +/* + * Brute Force: Linear search if index != nums[index+1] then return that number is missing so return index+1 + * Optimized: Binary Search + * if (mid + 1 == arr[mid]) that means all the elements from start to mid are present so start = mid + 1 else end = mid - 1 + */ + +class Solution { + int missingNumber(int arr[]) { + // code here + int start = 0; + int end = arr.length - 1; + + while(start <= end){ + //int overflow + int mid = start + (end - start) / 2; + + if(mid + 1 == arr[mid]){ + start = mid + 1; + } + else + end = mid - 1; + } + return start + 1; + } +}