1716. Calculate Money in Leetcode Bank

Leetcode link

题目简介

/**
 * @param {number} n
 * @return {number}
 */

题目给我们一个参数 n,代表存了多少天的钱

题目要求我门根据 n 求出当前银行存款有多少了

存钱的规则如下:

  • 在每个星期中,下一天的存款金额比上一天+1
  • 如果当前是第 n 周,则当周星期一的存款金额是 n 块钱
  • 第一个星期星期一存入 1 块钱

解题思路

这题比较简单,我们只需要判断当前的 n 是在第几周的第几天就可以了

根据题目描述,每一周都会比上一周多存 5 块钱

而每一天会比前一天多存 1 块钱

计算出结果即可

Javascript

/**
 * @param {number} n
 * @return {number}
 */
var totalMoney = function (n) {
    let res = 0
    const FIRST_WEEK_SAVING = (1 + 7) * 7 / 2
    const weeks = Math.floor(n / 7)
    const restDays = n % 7

    for (let i = 0; i < weeks; i++) {
        res += FIRST_WEEK_SAVING + i * 7
    }
    for (let i = 0; i < restDays; i++) {
        res += 1 + weeks + i
    }

    return res
};

results matching ""

    No results matching ""