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;
}
}