1894. Find the Student that Will Replace the Chalk #
题目 #
- 一个班级里有
n
个学生,编号为0
到n - 1
。每个学生会依次回答问题,编号为0
的学生先回答,然后是编号为1
的学生,以此类推,直到编号为n - 1
的学生,然后老师会重复这个过程,重新从编号为0
的学生开始回答问题。 - 给你一个长度为
n
且下标从0
开始的整数数组chalk
和一个整数k
。一开始粉笔盒里总共有k
支粉笔。当编号为i
的学生回答问题时,他会消耗chalk[i]
支粉笔。如果剩余粉笔数量 严格小于chalk[i]
,那么学生i
需要 补充 粉笔。 - 请你返回需要 补充 粉笔的学生 编号 。
思路 #
模拟 #
代码 #
模拟 #
class Solution {
public int chalkReplacer(int[] chalk, int k) {
long sum = 0;
for (int num: chalk) sum += num;
k = (int)(k % sum);
for (int i = 0; i < chalk.length; i++) {
if (k < chalk[i]) return i;
k -= chalk[i];
}
return -1;
}
}