>1894. 找到需要补充粉笔的学生编号<
>chalkReplacer<
一、解题思路
1、解法一( Java )
解法思路:优化模拟 双循环
第一次循环首先记录每一轮消耗粉笔的数量为 sum
,然后将 粉笔总数 k
对 sum
取余,第二次循环确定需要补充粉笔的学生编号 i
代码如下:
/**
* @author listen1024
* @date 2022-1-20
* 【★】1894. 找到需要补充粉笔的学生编号 chalkReplacer
*/
class Solution {
public int chalkReplacer(int[] chalk, int k) {
int len = chalk.length;
long sum = 0;
for (int i : chalk) {
sum += i;
}
k = (int)(k % sum);
for (int i = 0; i < len; i++) {
k -= chalk[i];
if (k < 0) {
return i;
}
}
return 0;
}
}
运行结果截图如下: