快乐水题1716. 计算力扣银行的钱

Posted 谁吃薄荷糖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快乐水题1716. 计算力扣银行的钱相关的知识,希望对你有一定的参考价值。

原题:

力扣链接:1716. 计算力扣银行的钱

题目简述:

Hercy 想要为购买第一辆车存钱。他 每天 都往力扣银行里存钱。

最开始,他在周一的时候存入 1 块钱。从周二到周日,他每天都比前一天多存入 1 块钱。在接下来每一个周一,他都会比 前一个周一 多存入 1 块钱。

给你 n ,请你返回在第 n 天结束的时候他在力扣银行总共存了多少块钱。

解题思路

1.算出周数nWeeks和零头的天数nDays;
2.计算每周的钱数:28+7*i(i的范围(0,nWeeks)),累加起来;
3.计算零头天数每天的的钱:nWeeks + j + 1(j的范围(0,nDays)),累加起来;
4.把上述的钱加起来即可;
5.over;

C++代码:

class Solution 
public:
    int totalMoney(int n) 

        int nWeeks= n / 7; //周数
        int nDays = n - 7*nWeeks; //零头数

        //cout << nWeeks << "   " << nDays << endl;

        int total = 0;

        for(int i = 0; i < nWeeks; i++)
        
            total +=  7*i + 28;
        

        for(int j = 0; j < nDays; j++)
        
            total += nWeeks + j + 1;
        

        return total;
    
;

力扣结果展示:

以上是关于快乐水题1716. 计算力扣银行的钱的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 1716. 计算力扣银行的钱 / 382. 链表随机节点(蓄水池抽样) / 1220. 统计元音字母序列的数目(动规,矩阵快速幂)

LeetCode 1716 计算力扣银行的钱[数学 前缀和] HERODING的LeetCode之路

《LeetCode之每日一题》:267.计算力扣银行的钱

LeetCode Daily 12

「 每日一练,快乐水题 」2016. 增量元素之间的最大差值

「 快乐水题 」1748. 唯一元素的和