3616. Number of Student Replacements π
Description
You are given an integer array ranks
where ranks[i]
represents the rank of the ith
student arriving in order. A lower number indicates a better rank.
Initially, the first student is selected by default.
A replacement occurs when a student with a strictly better rank arrives and replaces the current selection.
Return the total number of replacements made.
Example 1:
Input: ranks = [4,1,2]
Output: 1
Explanation:
- The first student with
ranks[0] = 4
is initially selected. - The second student with
ranks[1] = 1
is better than the current selection, so a replacement occurs. - The third student has a worse rank, so no replacement occurs.
- Thus, the number of replacements is 1.
Example 2:
Input: ranks = [2,2,3]
Output: 0
Explanation:
- The first student with
ranks[0] = 2
is initially selected. - Neither of
ranks[1] = 2
orranks[2] = 3
is better than the current selection. - Thus, the number of replacements is 0.
Constraints:
1 <= ranks.length <= 105βββββββ
1 <= ranks[i] <= 105
Solutions
Solution 1: Simulation
We use a variable \(\text{cur}\) to record the rank of the currently selected student. We iterate through the array \(\text{ranks}\), and if we encounter a student with a better rank (i.e., \(\text{ranks}[i] < \text{cur}\)), we update \(\text{cur}\) and increment the answer by one.
After the iteration, we return the answer.
The time complexity is \(O(n)\), where \(n\) is the number of students. The space complexity is \(O(1)\).
1 2 3 4 5 6 7 8 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
1 2 3 4 5 6 7 8 9 10 |
|
1 2 3 4 5 6 7 8 9 10 |
|