From 4d09fb627cea59586e8f1e582caad4abf213ba73 Mon Sep 17 00:00:00 2001 From: itsAftabAlam <88653530+itsAftabAlam@users.noreply.github.com> Date: Sat, 16 Oct 2021 08:46:48 +0530 Subject: [PATCH 1/2] creating question file on the question 'floor of a number in sorted array' --- Task 1/Floor of A Number In Sorted Array/question.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Task 1/Floor of A Number In Sorted Array/question.md 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 . From 3bad7649a9fe2c44a1770454384817ecbfbcf42d Mon Sep 17 00:00:00 2001 From: itsAftabAlam <88653530+itsAftabAlam@users.noreply.github.com> Date: Sat, 16 Oct 2021 08:52:43 +0530 Subject: [PATCH 2/2] create solution file on the question mentioned in this folder --- .../solution.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Task 1/Floor of A Number In Sorted Array/solution.java 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; + } +}