码迷,mamicode.com
首页 > 其他好文 > 详细

0305-分糖果

时间:2020-03-11 16:57:16      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:http   tco   bre   标签   java   ref   new   数学   相关   

分糖果

题目卡片

  • 时间: 2020-03-05

  • 题目链接:

  • Tag:math

思路

题目挺简单的,按着题目描述来可暴力求解。

"对小朋友们进行遍历,每次都发小朋友们应得数量的糖,直到剩下的糖不足以分发应得数量,就直接给最后那位倒霉孩子。"

代码

class Solution {
    public int[] distributeCandies(int candies, int num_people) {
        int i = 0;
        int []ans = new int[num_people];
/* 1.
        while(candies!=0){
          int n = i+1;
            if(n<=candies){
                ans[i%num_people] += n;
                candies -= n; 
            }
            else{
                ans[i%num_people] += candies;
                break; 
            }
            i++;
*/
        while(candies!=0){
            int n = i+1;     
            ans[i % num_people] += Math.min(candies, n);
            candies -= Math.min(candies,n);
        }
        /* 
        *  取candies(现有糖果数量)和n(按规则应获得的需要糖果数量)中的最小值,
        *  给第 i%num_people (轮到的第几位小朋友),
        *  +=  累加每一轮所发的新糖果,
        *  min的作用是当糖果不够用时,全送给那个小朋友,
        *  与此同时,candies数量减去已送出的数量。
        */
        }
        return ans;
    }
}

扩展

这个的标签是Math,所以肯定是有相关的数学公式能帮忙省事儿。

leetCode中@QuantumDriver给出详细解释,不在此赘述。

0305-分糖果

标签:http   tco   bre   标签   java   ref   new   数学   相关   

原文地址:https://www.cnblogs.com/Nick17t/p/12463389.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!