Bird
Raised Fist0
Terraformcloud~5 mins

Numeric functions (min, max, ceil) in Terraform - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Numeric functions (min, max, ceil)
O(n)
Understanding Time Complexity

We want to understand how the time to compute numeric functions like min, max, and ceil changes as we increase the number of inputs.

Specifically, how does the work grow when we use these functions on larger lists of numbers?

Scenario Under Consideration

Analyze the time complexity of this Terraform code snippet:


variable "numbers" {
  type = list(number)
}

output "min_value" {
  value = min(var.numbers)
}

output "max_value" {
  value = max(var.numbers)
}

output "ceil_values" {
  value = [for n in var.numbers : ceil(n)]
}
    

This code finds the smallest and largest numbers from a list, and rounds each number up to the nearest whole number.

Identify Repeating Operations

Look at what repeats when the list size grows:

  • Primary operation: Comparing numbers for min and max, and applying ceil to each number.
  • How many times: Each number is checked once for min and max, and ceil is applied once per number.
How Execution Grows With Input

As the list gets bigger, the number of comparisons and ceil calculations grows directly with the list size.

Input Size (n)Approx. Api Calls/Operations
10About 10 comparisons for min, 10 for max, and 10 ceil calls
100About 100 comparisons for min, 100 for max, and 100 ceil calls
1000About 1000 comparisons for min, 1000 for max, and 1000 ceil calls

Pattern observation: The work grows evenly and directly with the number of inputs.

Final Time Complexity

Time Complexity: O(n)

This means the time to compute min, max, and ceil grows in a straight line as the list gets longer.

Common Mistake

[X] Wrong: "Using min or max on a list takes the same time no matter how big the list is."

[OK] Correct: Actually, these functions must look at each number once, so more numbers mean more work.

Interview Connect

Understanding how simple numeric functions scale helps you reason about performance in real cloud setups where data size changes.

Self-Check

"What if we used nested lists and applied min to each inner list? How would the time complexity change?"

Practice

(1/5)
1. What does the Terraform function min(3, 7, 2) return?
easy
A. Error
B. 3
C. 7
D. 2

Solution

  1. Step 1: Understand the min function

    The min function returns the smallest number from the given list.
  2. Step 2: Compare the numbers 3, 7, and 2

    Among 3, 7, and 2, the smallest number is 2.
  3. Final Answer:

    2 -> Option D
  4. Quick Check:

    min(3,7,2) = 2 [OK]
Hint: min returns the smallest number from the list [OK]
Common Mistakes:
  • Confusing min with max
  • Expecting average instead of minimum
  • Using ceil instead of min
2. Which of the following is the correct syntax to use the ceil function in Terraform?
easy
A. ceil(4.3)
B. ceil 4.3
C. ceil[4.3]
D. ceil{4.3}

Solution

  1. Step 1: Recall Terraform function syntax

    Terraform functions use parentheses to enclose arguments, like function_name(argument).
  2. Step 2: Check each option

    Only ceil(4.3) uses correct function call syntax.
  3. Final Answer:

    ceil(4.3) -> Option A
  4. Quick Check:

    Function calls use parentheses [OK]
Hint: Terraform functions always use parentheses for arguments [OK]
Common Mistakes:
  • Using spaces instead of parentheses
  • Using brackets or braces instead of parentheses
  • Missing parentheses
3. What is the output of this Terraform expression?
max(5, ceil(3.2), min(4, 2))
medium
A. 2
B. 5
C. 3
D. 4

Solution

  1. Step 1: Evaluate inner functions

    ceil(3.2) rounds 3.2 up to 4.
    min(4, 2) returns 2.
  2. Step 2: Evaluate max function

    Now the expression is max(5, 4, 2). The largest number is 5.
  3. Final Answer:

    5 -> Option B
  4. Quick Check:

    max(5,4,2) = 5 [OK]
Hint: Evaluate inner functions first, then apply max [OK]
Common Mistakes:
  • Ignoring nested function calls
  • Mixing up min and max
  • Forgetting ceil rounds up
4. Identify the error in this Terraform expression:
ceil(5.7, 2)
medium
A. Invalid function name
B. Missing parentheses
C. Too many arguments for ceil function
D. ceil cannot be used with decimals

Solution

  1. Step 1: Check the ceil function signature

    The ceil function takes exactly one argument, a decimal number.
  2. Step 2: Analyze the given expression

    The expression ceil(5.7, 2) has two arguments, which is invalid.
  3. Final Answer:

    Too many arguments for ceil function -> Option C
  4. Quick Check:

    ceil expects one argument [OK]
Hint: ceil takes only one decimal argument [OK]
Common Mistakes:
  • Passing multiple arguments
  • Confusing ceil with round
  • Using wrong argument types
5. You want to find the smallest whole number greater than or equal to the minimum of 3.4, 2.1, and 5.9 in Terraform. Which expression achieves this?
hard
A. ceil(min(3.4, 2.1, 5.9))
B. min(ceil(3.4, 2.1, 5.9))
C. max(min(3.4, 2.1, 5.9))
D. ceil(max(3.4, 2.1, 5.9))

Solution

  1. Step 1: Find the minimum of the numbers

    min(3.4, 2.1, 5.9) returns 2.1, the smallest number.
  2. Step 2: Apply ceil to round up to the nearest whole number

    ceil(2.1) rounds 2.1 up to 3.
  3. Final Answer:

    ceil(min(3.4, 2.1, 5.9)) -> Option A
  4. Quick Check:

    min=2.1, ceil(2.1)=3 [OK]
Hint: Apply min first, then ceil to round up [OK]
Common Mistakes:
  • Applying ceil before min
  • Using max instead of min
  • Confusing order of functions
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