题目
解题思路
- 先计算出次遍历所消耗的粉笔数,然后取余
- 这样操作后,再次遍历即可得到结果
Code
class Solution {
public int chalkReplacer(int[] chalk, int k) {
// n个学生,编号0-n - 1
// 回答顺序 0 - n -1
// 共k支粉笔,消耗chalk[i],当剩余量小于时,补充粉笔,返回需要补充的编号
int n = chalk.length;
long sum = 0;
for (int i = 0; i < n; i++) {
sum = sum + chalk[i];
}
k %= sum;
for (int i = 0 ; i < n; i++) {
k = k - chalk[i];
if (k < 0)
{
return i;
}
}
return -1;
}
}