Bird
Raised Fist0
DSA Goprogramming~5 mins

Floor and Ceil in Sorted Array in DSA Go - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the floor of a number in a sorted array?
The floor of a number is the greatest element in the array that is less than or equal to that number.
Click to reveal answer
beginner
What is the ceil of a number in a sorted array?
The ceil of a number is the smallest element in the array that is greater than or equal to that number.
Click to reveal answer
intermediate
Why is binary search useful for finding floor and ceil in a sorted array?
Binary search helps find floor and ceil efficiently by repeatedly dividing the search space in half, reducing time from linear to logarithmic.
Click to reveal answer
beginner
What happens if the floor of a number does not exist in the array?
If no element is less than or equal to the number, the floor does not exist (often represented as -1 or null).
Click to reveal answer
beginner
What happens if the ceil of a number does not exist in the array?
If no element is greater than or equal to the number, the ceil does not exist (often represented as -1 or null).
Click to reveal answer
In a sorted array [1, 3, 5, 7], what is the floor of 4?
A4
B7
C5
D3
In the same array, what is the ceil of 6?
A5
B7
C6
D3
If the number is smaller than all elements in the array, what is the floor?
AThe smallest element
BThe largest element
CDoes not exist
DThe first element
Which algorithm is best to find floor and ceil in a sorted array efficiently?
ABinary search
BInsertion sort
CBubble sort
DLinear search
What is the ceil of 10 in array [2, 4, 6, 8]?
ADoes not exist
B10
C8
D6
Explain how to find the floor of a number in a sorted array using binary search.
Think about how to move left or right in the array to find the greatest element less than or equal to the target.
You got /3 concepts.
    Describe the difference between floor and ceil in a sorted array with examples.
    Floor is the closest smaller or equal number, ceil is the closest greater or equal number.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the floor of a number mean in a sorted array?
      easy
      A. The greatest element less than or equal to the number
      B. The smallest element greater than the number
      C. The average of all elements less than the number
      D. The smallest element less than the number

      Solution

      1. Step 1: Understand the floor definition

        The floor of a number in a sorted array is the greatest element that is less than or equal to the given number.
      2. Step 2: Compare options with definition

        The greatest element less than or equal to the number matches this definition exactly, while others describe different concepts.
      3. Final Answer:

        The greatest element less than or equal to the number -> Option A
      4. Quick Check:

        Floor = greatest ≤ number [OK]
      Hint: Floor is always ≤ number, pick greatest such element [OK]
      Common Mistakes:
      • Confusing floor with ceil
      • Thinking floor is strictly less than number
      • Mixing floor with average or median
      2. Which Go code snippet correctly declares a function to find the floor in a sorted array?
      easy
      A. func floor(arr int[], x int) int { /* code */ }
      B. func floor(arr []int, x int) int { /* code */ }
      C. function floor(arr []int, x int) int { /* code */ }
      D. func floor(arr []int, x int) void { /* code */ }

      Solution

      1. Step 1: Check Go function syntax

        In Go, functions are declared with func, parameter types follow names, and return type is after parameters.
      2. Step 2: Validate each option

        func floor(arr []int, x int) int { /* code */ } uses correct Go syntax: func floor(arr []int, x int) int. func floor(arr int[], x int) int { /* code */ } uses incorrect array syntax, C uses wrong keyword, D has wrong return type.
      3. Final Answer:

        func floor(arr []int, x int) int { /* code */ } -> Option B
      4. Quick Check:

        Go func syntax = func floor(arr []int, x int) int { /* code */ } [OK]
      Hint: Go arrays use []type, func keyword, return type after params [OK]
      Common Mistakes:
      • Using 'function' keyword instead of 'func'
      • Incorrect array type syntax
      • Wrong return type declaration
      3. What is the output of the following Go code snippet?
      arr := []int{1, 3, 5, 7, 9}
      x := 6
      floor := -1
      for _, val := range arr {
          if val <= x {
              floor = val
          } else {
              break
          }
      }
      fmt.Println(floor)
      medium
      A. 5
      B. 6
      C. 7
      D. -1

      Solution

      1. Step 1: Trace the loop over array elements

        The loop checks each element: 1 ≤ 6 (floor=1), 3 ≤ 6 (floor=3), 5 ≤ 6 (floor=5), 7 ≤ 6? No, break loop.
      2. Step 2: Determine final floor value

        Last floor assigned is 5, so printed output is 5.
      3. Final Answer:

        5 -> Option A
      4. Quick Check:

        Floor of 6 in arr = 5 [OK]
      Hint: Floor is last element ≤ x before break [OK]
      Common Mistakes:
      • Assuming floor equals x if not present
      • Not breaking loop early
      • Confusing floor with ceil
      4. Identify the bug in this Go code to find the ceil of x in a sorted array arr:
      func ceil(arr []int, x int) int {
          ceil := -1
          for _, val := range arr {
              if val >= x {
                  ceil = val
              }
          }
          return ceil
      }
      medium
      A. It uses wrong comparison operator
      B. It initializes ceil with -1 incorrectly
      C. It returns ceil before loop ends
      D. It does not break after finding first valid ceil

      Solution

      1. Step 1: Analyze loop behavior for ceil

        The loop updates ceil whenever val ≥ x, but does not stop after first valid ceil, so it ends with the last such value, which may not be the smallest ceil.
      2. Step 2: Identify correct fix

        To find the smallest ceil, the loop should break immediately after first val ≥ x is found.
      3. Final Answer:

        It does not break after finding first valid ceil -> Option D
      4. Quick Check:

        Ceil needs first ≥ x, break loop [OK]
      Hint: Break loop on first val ≥ x for correct ceil [OK]
      Common Mistakes:
      • Not breaking loop early
      • Confusing ceil with floor logic
      • Incorrect initialization of ceil
      5. Given a sorted array arr := []int{2, 4, 6, 8, 10} and a number x = 5, write a Go function that returns both floor and ceil of x. What is the correct output of floor and ceil?
      hard
      A. Floor: -1, Ceil: -1
      B. Floor: 6, Ceil: 4
      C. Floor: 4, Ceil: 6
      D. Floor: 5, Ceil: 5

      Solution

      1. Step 1: Find floor of 5 in arr

        Floor is greatest element ≤ 5. Elements ≤ 5 are 2 and 4, greatest is 4.
      2. Step 2: Find ceil of 5 in arr

        Ceil is smallest element ≥ 5. Elements ≥ 5 are 6, 8, 10, smallest is 6.
      3. Final Answer:

        Floor: 4, Ceil: 6 -> Option C
      4. Quick Check:

        Floor ≤ x ≤ Ceil = 4 ≤ 5 ≤ 6 [OK]
      Hint: Floor ≤ x ≤ Ceil in sorted array [OK]
      Common Mistakes:
      • Swapping floor and ceil values
      • Assuming floor or ceil equals x if not present
      • Returning -1 when valid floor or ceil exists
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard