Bird
Raised Fist0
NumPydata~5 mins

np.min() and np.max() in NumPy - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: np.min() and np.max()
O(n)
Understanding Time Complexity

We want to understand how the time it takes to find the smallest or largest value in data changes as the data grows.

How does the work increase when we use np.min() or np.max() on bigger arrays?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

import numpy as np

arr = np.random.rand(1000)
minimum = np.min(arr)
maximum = np.max(arr)

This code creates an array of 1000 random numbers and finds the smallest and largest values in it.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Scanning through each element of the array once to compare values.
  • How many times: Each element is checked exactly one time for min and one time for max.
How Execution Grows With Input

As the array gets bigger, the time to find min or max grows in a straight line with the number of elements.

Input Size (n)Approx. Operations
10About 10 comparisons
100About 100 comparisons
1000About 1000 comparisons

Pattern observation: Doubling the input size roughly doubles the work needed.

Final Time Complexity

Time Complexity: O(n)

This means the time to find the minimum or maximum grows directly with the number of elements.

Common Mistake

[X] Wrong: "np.min() or np.max() quickly finds the answer without checking all elements."

[OK] Correct: The function must look at every element to be sure of the smallest or largest value, so it takes time proportional to the array size.

Interview Connect

Knowing how np.min() and np.max() work helps you understand basic data scanning tasks, a skill useful in many data science problems.

Self-Check

"What if we used np.min() on a 2D array with shape (n, m)? How would the time complexity change?"

Practice

(1/5)
1. What does the function np.min() do when applied to a NumPy array?
easy
A. Calculates the average of the array
B. Finds the largest value in the array
C. Finds the smallest value in the array
D. Counts the number of elements in the array

Solution

  1. Step 1: Understand the purpose of np.min()

    The function np.min() is designed to find the minimum value in a NumPy array.
  2. Step 2: Compare with other options

    Options B, C, and D describe different functions: max, mean, and size respectively, which are not what np.min() does.
  3. Final Answer:

    Finds the smallest value in the array -> Option C
  4. Quick Check:

    np.min() = smallest value [OK]
Hint: np.min() always returns the smallest number [OK]
Common Mistakes:
  • Confusing np.min() with np.max()
  • Thinking np.min() calculates average
  • Assuming np.min() counts elements
2. Which of the following is the correct NumPy function syntax to find the maximum value in a NumPy array named arr?
easy
A. max(arr)
B. np.max(arr)
C. np.maximum(arr)
D. arr.max()

Solution

  1. Step 1: Identify correct function usage

    The function np.max(arr) correctly finds the maximum value in the array arr.
  2. Step 2: Analyze other options

    arr.max() is valid but uses method syntax, not function syntax. np.maximum(arr) is incorrect because np.maximum() compares two arrays element-wise. max(arr) is Python's built-in max, which works on lists but not efficiently on NumPy arrays.
  3. Final Answer:

    np.max(arr) -> Option B
  4. Quick Check:

    np.max(arr) = max value [OK]
Hint: Use np.max(array) to get max value quickly [OK]
Common Mistakes:
  • Using np.maximum() instead of np.max()
  • Confusing method and function syntax
  • Using Python max() on NumPy arrays
3. What is the output of the following code?
import numpy as np
arr = np.array([[3, 7, 2], [5, 1, 9]])
print(np.min(arr, axis=0))
medium
A. [3 1 2]
B. [3 7 2]
C. [5 1 9]
D. [1 2 3]

Solution

  1. Step 1: Understand axis=0 in np.min()

    Using axis=0 means finding the minimum value down each column.
  2. Step 2: Calculate minimum per column

    Column 1: min(3,5) = 3
    Column 2: min(7,1) = 1
    Column 3: min(2,9) = 2
  3. Final Answer:

    [3 1 2] -> Option A
  4. Quick Check:

    np.min(arr, axis=0) = [3 1 2] [OK]
Hint: axis=0 finds min down columns, axis=1 across rows [OK]
Common Mistakes:
  • Mixing axis=0 and axis=1
  • Confusing min with max
  • Expecting a single number instead of array
4. The following code throws an error. What is the problem?
import numpy as np
arr = np.array([4, 8, 6])
print(np.min(arr, axis=1))
medium
A. The array is 1D, axis=1 is invalid
B. np.min() does not accept axis argument
C. np.min() requires a list, not an array
D. The array contains non-numeric values

Solution

  1. Step 1: Check array dimensions

    The array arr is one-dimensional (shape (3,)).
  2. Step 2: Understand axis parameter

    Axis=1 means operate along columns of a 2D or higher array. For 1D arrays, axis=1 is invalid and causes an error.
  3. Final Answer:

    The array is 1D, axis=1 is invalid -> Option A
  4. Quick Check:

    1D array + axis=1 = error [OK]
Hint: Use axis only within array dimension range [OK]
Common Mistakes:
  • Using axis=1 on 1D arrays
  • Thinking np.min() can't take axis
  • Assuming array has non-numeric data
5. Given a 2D NumPy array data representing daily temperatures for a week (rows = days, columns = cities), how would you find the highest temperature recorded in each city?
hard
A. np.max(data, axis=1)
B. np.min(data, axis=1)
C. np.min(data, axis=0)
D. np.max(data, axis=0)

Solution

  1. Step 1: Understand data layout

    Rows represent days, columns represent cities. To find max per city, we want max down each column.
  2. Step 2: Use axis=0 for column-wise operation

    Using np.max(data, axis=0) finds the maximum temperature for each city across all days.
  3. Final Answer:

    np.max(data, axis=0) -> Option D
  4. Quick Check:

    Max per city = np.max(data, axis=0) [OK]
Hint: axis=0 aggregates down columns (cities) [OK]
Common Mistakes:
  • Using axis=1 to find max per city
  • Using np.min() instead of np.max()
  • Confusing rows and columns
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