标签: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给出详细解释,不在此赘述。
标签:http tco bre 标签 java ref new 数学 相关
原文地址:https://www.cnblogs.com/Nick17t/p/12463389.html