[每日一道小算法(八十二)] [窮舉] (vivo筆試題)算出第n天總共可以量產的手機數量。

前言:
時間順流而下,生活逆水行舟。

題目描述

  • 在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];
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章