前言:
時間順流而下,生活逆水行舟。
題目描述
- 在vivo生產線上,每位職工隨着對手機加工流程認識的熟悉和經驗的增加,日產量也會不斷飆升。
- 假設第一天量產1臺,接下來2天(即第二、三天)每天量產2件,接下來三天(即第三、四、五天)
- 每天量產3件。以此類推,計算出第n天總共可以量產的手機數量。
題目解析
這道題,我使用的是窮舉。使用一個數組保存每天量產的手機數量,依次類推即可。
代碼樣例
package com.asong.leetcode.TwoJianZhiOffer;
/**
* 在vivo生產線上,每位職工隨着對手機加工流程認識的熟悉和經驗的增加,日產量也會不斷飆升。
* 假設第一天量產1臺,接下來2天(即第二、三天)每天量產2件,接下來三天(即第三、四、五天)
* 每天量產3件。以此類推,計算出第n天總共可以量產的手機數量。
*/
public class Vivo2 {
public static void main(String[] args) {
Vivo2 vivo2 = new Vivo2();
int res = vivo2.Num(11);
System.out.println(res);
}
public int Num(int n)
{
if(n<=0)
{
return 0;
}
int[] dp =new int[n+1]; //保存量產的手機數量
int one = 1;
int count = 0;
for (int i = 1; i <= n; i++) {
dp[i] = dp[i-1] + one;
count++;
if(count==one)
{
count=0;
one++;
}
}
return dp[n];
}
}