3687. Library Late Fee Calculator π
Description
You are given an integer array daysLate
where daysLate[i]
indicates how many days late the ith
book was returned.
The penalty is calculated as follows:
- If
daysLate[i] == 1
, penalty is 1. - If
2 <= daysLate[i] <= 5
, penalty is2 * daysLate[i]
. - If
daysLate[i] > 5
, penalty is3 * daysLate[i]
.
Return the total penalty for all books.
Example 1:
Input: daysLate = [5,1,7]
Output: 32
Explanation:
daysLate[0] = 5
: Penalty is2 * daysLate[0] = 2 * 5 = 10
.daysLate[1] = 1
: Penalty is1
.daysLate[2] = 7
: Penalty is3 * daysLate[2] = 3 * 7 = 21
.- Thus, the total penalty is
10 + 1 + 21 = 32
.
Example 2:
Input: daysLate = [1,1]
Output: 2
Explanation:
daysLate[0] = 1
: Penalty is1
.daysLate[1] = 1
: Penalty is1
.- Thus, the total penalty is
1 + 1 = 2
.
Constraints:
1 <= daysLate.length <= 100
1 <= daysLate[i] <= 100
Solutions
Solution 1: Simulation
We define a function \(\text{f}(x)\) to calculate the late fee for each book:
\[
\text{f}(x) = \begin{cases}
1 & x = 1 \\
2x & 2 \leq x \leq 5 \\
3x & x > 5
\end{cases}
\]
Then, for each element \(x\) in the array \(\textit{daysLate}\), we compute \(\text{f}(x)\) and sum them up to get the total late fee.
The time complexity is \(O(n)\), where \(n\) is the length of the array \(\textit{daysLate}\). The space complexity is \(O(1)\).
1 2 3 4 5 6 7 8 9 10 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
1 2 3 4 5 6 7 8 9 10 11 |
|