Bird
Raised Fist0
Rubyprogramming~5 mins

Comparison operators in Ruby - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Comparison operators
O(n)
Understanding Time Complexity

When we use comparison operators, the computer checks values to decide something.

We want to see how the time to do these checks grows as we compare more items.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

def count_greater_than(numbers, threshold)
  count = 0
  numbers.each do |num|
    count += 1 if num > threshold
  end
  count
end

This code counts how many numbers in a list are bigger than a given threshold.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Comparing each number to the threshold using > operator.
  • How many times: Once for every number in the list.
How Execution Grows With Input

Explain the growth pattern intuitively.

Input Size (n)Approx. Operations
1010 comparisons
100100 comparisons
10001000 comparisons

Pattern observation: The number of comparisons grows directly with the number of items.

Final Time Complexity

Time Complexity: O(n)

This means the time to finish grows in a straight line as the list gets bigger.

Common Mistake

[X] Wrong: "Comparison operators take the same time no matter how many items we check."

[OK] Correct: Each comparison happens for every item, so more items mean more comparisons and more time.

Interview Connect

Understanding how comparisons add up helps you explain how your code handles bigger data smoothly.

Self-Check

"What if we changed the code to stop checking as soon as we find one number greater than the threshold? How would the time complexity change?"

Practice

(1/5)
1. Which of the following comparison operators in Ruby checks if two values are equal?
easy
A. ==
B. =
C. !=
D. >

Solution

  1. Step 1: Understand the purpose of each operator

    == checks equality, = assigns values, != checks inequality, and > checks if left is greater than right.
  2. Step 2: Identify the equality operator

    The operator that compares two values for equality is ==.
  3. Final Answer:

    == -> Option A
  4. Quick Check:

    Equality operator = == [OK]
Hint: Equality uses double equals (==), not single equals (=) [OK]
Common Mistakes:
  • Confusing assignment (=) with equality (==)
  • Using != instead of ==
  • Thinking > checks equality
2. Which of the following is the correct syntax to check if variable a is not equal to variable b in Ruby?
easy
A. a !== b
B. a =! b
C. a <> b
D. a != b

Solution

  1. Step 1: Recall Ruby's not equal operator

    Ruby uses != to check if two values are not equal.
  2. Step 2: Check each option's syntax

    a != b is correct. a =! b is invalid syntax. a <> b is not Ruby syntax. a !== b is JavaScript syntax, not Ruby.
  3. Final Answer:

    a != b -> Option D
  4. Quick Check:

    Not equal operator = != [OK]
Hint: Not equal in Ruby is !=, not =! or !== [OK]
Common Mistakes:
  • Using =! instead of !=
  • Using !== which is JavaScript, not Ruby
  • Using <> which is invalid in Ruby
3. What will be the output of the following Ruby code?
a = 5
b = 10
puts a < b
medium
A. true
B. false
C. 5
D. 10

Solution

  1. Step 1: Understand the comparison

    The code compares if a (5) is less than b (10).
  2. Step 2: Evaluate the comparison

    Since 5 is less than 10, the expression a < b is true.
  3. Final Answer:

    true -> Option A
  4. Quick Check:

    5 < 10 = true [OK]
Hint: Less than is <, returns true or false [OK]
Common Mistakes:
  • Confusing output with variable values
  • Expecting numeric output instead of boolean
  • Mixing up < and > operators
4. Identify the error in the following Ruby code:
if x = 10
puts "x is 10"
end
medium
A. Variable x is not declared
B. Missing end keyword
C. Should use == to compare, not =
D. puts syntax is wrong

Solution

  1. Step 1: Analyze the if condition

    The code uses = which assigns 10 to x, not compares.
  2. Step 2: Correct the comparison operator

    To check if x equals 10, use == instead of =.
  3. Final Answer:

    Should use == to compare, not = -> Option C
  4. Quick Check:

    Comparison needs ==, = is assignment [OK]
Hint: Use == for comparison, = is for assignment [OK]
Common Mistakes:
  • Using = instead of ==
  • Thinking missing end keyword causes error
  • Assuming variable must be declared before use
5. You want to check if a number n is between 10 and 20 inclusive in Ruby. Which expression correctly uses comparison operators to do this?
hard
A. n > 10 || n < 20
B. n >= 10 && n <= 20
C. 10 <= n <= 20
D. n == 10 && n == 20

Solution

  1. Step 1: Understand the range check

    We want n to be at least 10 and at most 20, so both conditions must be true.
  2. Step 2: Evaluate each option

    n >= 10 && n <= 20 uses n >= 10 && n <= 20, which correctly checks both limits.
    10 <= n <= 20 uses chained comparison which is invalid in Ruby.
    n > 10 || n < 20 uses OR (||), which allows values outside the range.
    n == 10 && n == 20 checks if n equals both 10 and 20 simultaneously, which is impossible.
  3. Final Answer:

    n >= 10 && n <= 20 -> Option B
  4. Quick Check:

    Use && to combine two comparisons [OK]
Hint: Use && to combine two comparisons for range checks [OK]
Common Mistakes:
  • Trying chained comparisons like 10 <= n <= 20
  • Using || instead of && for range
  • Checking equality to both ends simultaneously
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