diff --git a/Task 1/Floor of A Number In Sorted Array/question.md b/Task 1/Floor of A Number In Sorted Array/question.md new file mode 100644 index 00000000..7e0efb86 --- /dev/null +++ b/Task 1/Floor of A Number In Sorted Array/question.md @@ -0,0 +1 @@ +Find the floor of a number in a sorted array . diff --git a/Task 1/Floor of A Number In Sorted Array/solution.java b/Task 1/Floor of A Number In Sorted Array/solution.java new file mode 100644 index 00000000..fc66689d --- /dev/null +++ b/Task 1/Floor of A Number In Sorted Array/solution.java @@ -0,0 +1,28 @@ +public class FloorOfANumber { + + public static void main(String[] args) { + int[] arr = {9, 11, 19, 22,23,24}; + int target = 20; + int ans = floor(arr, target); + System.out.println(ans); + } + + static int floor(int[] arr, int target) { + int start = 0; + int end = arr.length - 1; + + while(start <= end) { + // finding the middle element + int mid = (start + end) / 2; + if (target < arr[mid]) { + end = mid - 1; + } else if (target > arr[mid]) { + start = mid + 1; + } else { + // ans is found + return mid; + } + } + return end; + } +}