【毎日小さなアルゴリズム(82)】【網羅】(生体筆記試験)n日目に大量生産できる携帯電話の総数を計算します。

序:
時間は川を流れ、流れに逆らって生きる。

タイトルの説明

  • 生体内生産ラインでは、各従業員の携帯電話処理への慣れと経験が高まるにつれ、日々の生産量は増加し続けます。
  • 1台目が初日に量産され、2台目が次の2日間(2日目、3日目)、および次の3日間(3日目、4日目、5日目)は毎日量産されているとします。
  • 1日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];
    }
}

元の記事を197件公開 73 件を賞賛・1 万回以上の閲覧

おすすめ

転載: blog.csdn.net/qq_39397165/article/details/104748723