Re: [閒聊] 每日LeetCode已回收
https://leetcode.com/problems/calculate-money-in-leetcode-bank/description/
1716. Calculate Money in Leetcode Bank
給你一個數字n表示存錢幾天,我們從星期一開始存錢,第一次存1元,後面每次多存
一元,直到下禮拜一時改存上禮拜存的錢+1數量的錢後面以此類推,求出存錢n天後
我們可以存多少錢。
思路:
1.第一個禮拜會存28元,第二個禮拜會存35元,每個禮拜多存7元所以是一個等差數列
,把存的錢分成三部份:每個禮拜存的基底(28) + 每個禮拜多出來的錢(7*n-1)
+ 最後一個禮拜不滿七天的錢
2.上面三個部份都可以看做一個等差數列和,套公式就完事了。
Java Code:
-----------------------------------------------
class Solution {
public int totalMoney(int n) {
int x = n / 7;
int y = n % 7;
int week = 28 * x;
int offset = 7 * (x - 1) * x / 2;
int remain = (x + 1 + x + y) * y / 2;
return week + offset + remain;
}
}
-----------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.100.73.13 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1701836430.A.A21.html
推
12/06 17:19,
2年前
, 1F
12/06 17:19, 1F
討論串 (同標題文章)
完整討論串 (本文為第 566 之 719 篇):