Bird
Raised Fist0
Pythonprogramming~5 mins

max() and min() in Python - Time & Space Complexity

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Time Complexity: max() and min()
O(n)
Understanding Time Complexity

When we use max() or min() on a list, we want to find the biggest or smallest item quickly.

We ask: How does the time to find these values grow as the list gets bigger?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

numbers = [3, 7, 2, 9, 4]
maximum = max(numbers)
minimum = min(numbers)
print(f"Max: {maximum}, Min: {minimum}")

This code finds the largest and smallest numbers in a list.

Identify Repeating Operations
  • Primary operation: Checking each item in the list once to compare values.
  • How many times: Each element is checked exactly one time for max and one time for min.
How Execution Grows With Input

As the list gets bigger, the number of checks grows in a straight line with the list size.

Input Size (n)Approx. Operations
10About 20 checks (10 for max, 10 for min)
100About 200 checks
1000About 2000 checks

Pattern observation: The work doubles when the list size doubles because max and min each look at every item once.

Final Time Complexity

Time Complexity: O(n)

This means the time to find max and min grows directly with the size of the list.

Common Mistake

[X] Wrong: "max() and min() find the answer instantly, no matter the list size."

[OK] Correct: They must look at every item to be sure which is biggest or smallest, so time grows with list size.

Interview Connect

Understanding how max() and min() work helps you explain how searching through data scales, a key skill in many coding tasks.

Self-Check

"What if we used max() and min() on a sorted list? How would the time complexity change?"

Practice

(1/5)
1. What does the max() function do in Python?
easy
A. Finds the largest item in a list or among values
B. Finds the smallest item in a list or among values
C. Sorts the list in ascending order
D. Removes duplicates from a list

Solution

  1. Step 1: Understand the purpose of max()

    The max() function is used to find the biggest or largest item from a list or multiple values.
  2. Step 2: Compare with other options

    Options A, C, and D describe different functions or actions, not what max() does.
  3. Final Answer:

    Finds the largest item in a list or among values -> Option A
  4. Quick Check:

    max() = largest item [OK]
Hint: max() returns the biggest value from inputs [OK]
Common Mistakes:
  • Confusing max() with min()
  • Thinking max() sorts the list
  • Assuming max() removes duplicates
2. Which of the following is the correct way to find the minimum value in a list named nums?
easy
A. minimum(nums)
B. min(nums)
C. nums.min()
D. min = nums

Solution

  1. Step 1: Recall the syntax of min()

    The correct syntax to find the smallest value in a list is min(list_name). So, min(nums) is correct.
  2. Step 2: Check other options for errors

    minimum(nums) uses a non-existent function minimum(). nums.min() tries to call min() as a method on the list, which is invalid. min = nums assigns min to the list, which is incorrect usage.
  3. Final Answer:

    min(nums) -> Option B
  4. Quick Check:

    min(list) = smallest value [OK]
Hint: Use min(list_name) to get smallest value [OK]
Common Mistakes:
  • Using min as a method like nums.min()
  • Trying to assign min to a variable incorrectly
  • Using a wrong function name like minimum()
3. What is the output of this code?
numbers = [3, 7, 2, 9, 5]
print(max(numbers))
print(min(numbers))
medium
A. 9 and 2
B. 3 and 5
C. 7 and 2
D. Error

Solution

  1. Step 1: Identify the list values

    The list numbers contains [3, 7, 2, 9, 5].
  2. Step 2: Find max and min values

    The largest value is 9 and the smallest value is 2.
  3. Final Answer:

    9 and 2 -> Option A
  4. Quick Check:

    max = 9, min = 2 [OK]
Hint: max() and min() find biggest and smallest values [OK]
Common Mistakes:
  • Mixing up max and min results
  • Assuming print shows the whole list
  • Syntax errors from missing parentheses
4. The following code gives an error. What is the problem?
values = [10, 20, 30]
print(max(values, key=abs))
medium
A. The key function abs() is unnecessary here
B. max() cannot be used with lists
C. The code runs without error and prints 30
D. abs() is not defined

Solution

  1. Step 1: Understand max() with key parameter

    The key parameter lets max() compare items by a function result. Here, abs returns absolute values, which are the same as the original values since all are positive.
  2. Step 2: Check if code runs correctly

    Since abs is a built-in function and the list is valid, the code runs without error and returns the largest value, 30.
  3. Final Answer:

    The code runs without error and prints 30 -> Option C
  4. Quick Check:

    max(values, key=abs) = 30 [OK]
Hint: max() with key=abs works fine; abs() is built-in [OK]
Common Mistakes:
  • Thinking abs() is undefined
  • Believing max() can't use key parameter
  • Assuming code causes error
5. Given the list words = ['apple', 'banana', 'grape', 'kiwi'], which code finds the word with the shortest length?
hard
A. max(words)
B. max(words, key=len)
C. min(words)
D. min(words, key=len)

Solution

  1. Step 1: Understand the key parameter with len()

    Using key=len tells min() to compare words by their length, not alphabetically.
  2. Step 2: Identify shortest word

    Among the words, 'kiwi' has the shortest length (4 letters). So min(words, key=len) returns 'kiwi'.
  3. Final Answer:

    min(words, key=len) -> Option D
  4. Quick Check:

    min by length = 'kiwi' [OK]
Hint: Use min(list, key=len) to find shortest string [OK]
Common Mistakes:
  • Using max() instead of min() for shortest
  • Not using key=len and getting alphabetical result
  • Assuming min(words) finds shortest word