1716. Calculate Money in Leetcode Bank
SourceBiweekly Contest 43 Q1DifficultyEasyRating1294
Description
Hercy wants to save money for his first car. He puts money in the Leetcode bank every day.
He starts by putting in $1 on Monday, the first day. Every day from Tuesday to Sunday, he will put in $1 more than the day before. On every subsequent Monday, he will put in $1 more than the previous Monday.
Given n, return the total amount of money he will have in the Leetcode bank at the end of the nth day.
Example 1:
Input: n = 4 Output: 10 Explanation: After the 4th day, the total is 1 + 2 + 3 + 4 = 10.
Example 2:
Input: n = 10 Output: 37 Explanation: After the 10th day, the total is (1 + 2 + 3 + 4 + 5 + 6 + 7) + (2 + 3 + 4) = 37. Notice that on the 2nd Monday, Hercy only puts in $2.
Example 3:
Input: n = 20 Output: 96 Explanation: After the 20th day, the total is (1 + 2 + 3 + 4 + 5 + 6 + 7) + (2 + 3 + 4 + 5 + 6 + 7 + 8) + (3 + 4 + 5 + 6 + 7 + 8) = 96.
Constraints:
1 <= n <= 1000
Solutions
Solution 1: Math
Thinking
Week \(k\) deposits one more each day than the previous week. Full weeks and the leftover days are arithmetic series. \(n\le 1000\) allows a loop, but a closed form is immediate.
There are \(k=\lfloor n/7\rfloor\) full weeks starting from sum \(28\) with difference \(7\), and \(b=n\bmod 7\) leftover days starting at \(k+1\).
Sum both arithmetic series.
According to the problem description, the deposit situation for each week is as follows:
Week 1: 1, 2, 3, 4, 5, 6, 7
Week 2: 2, 3, 4, 5, 6, 7, 8
Week 3: 3, 4, 5, 6, 7, 8, 9
...
Week k: k, k+1, k+2, k+3, k+4, k+5, k+6
Given \(n\) days of deposits, the number of complete weeks is \(k = \lfloor n / 7 \rfloor\), and the remaining days is \(b = n \mod 7\).
The total deposit for the complete \(k\) weeks can be calculated using the arithmetic sequence sum formula:
The total deposit for the remaining \(b\) days can also be calculated using the arithmetic sequence sum formula:
The final total deposit amount is \(S = S_1 + S_2\).
The time complexity is \(O(1)\) and the space complexity is \(O(1)\).
1 2 3 4 5 6 | |
1 2 3 4 5 6 7 8 | |
1 2 3 4 5 6 7 8 9 | |
1 2 3 4 5 6 | |
1 2 3 4 5 6 7 | |