自学网站建设最快要多久,群晖 wordpress 升级,做网站找王思奇,昆明网站建设创意一个班级里有 n 个学生#xff0c;编号为 0 到 n - 1 。每个学生会依次回答问题#xff0c;编号为 0 的学生先回答#xff0c;然后是编号为 1 的学生#xff0c;以此类推#xff0c;直到编号为 n - 1 的学生#xff0c;然后老师会重复这个过程#xff0c;重新从编号为 0…一个班级里有 n 个学生编号为 0 到 n - 1 。每个学生会依次回答问题编号为 0 的学生先回答然后是编号为 1 的学生以此类推直到编号为 n - 1 的学生然后老师会重复这个过程重新从编号为 0 的学生开始回答问题。
给你一个长度为 n 且下标从 0 开始的整数数组 chalk 和一个整数 k 。一开始粉笔盒里总共有 k 支粉笔。当编号为 i 的学生回答问题时他会消耗 chalk[i] 支粉笔。如果剩余粉笔数量 严格小于 chalk[i] 那么学生 i 需要 补充 粉笔。
请你返回需要 补充 粉笔的学生 编号 。
示例 1
输入chalk [5,1,5], k 22
输出0
解释学生消耗粉笔情况如下
- 编号为 0 的学生使用 5 支粉笔然后 k 17 。
- 编号为 1 的学生使用 1 支粉笔然后 k 16 。
- 编号为 2 的学生使用 5 支粉笔然后 k 11 。
- 编号为 0 的学生使用 5 支粉笔然后 k 6 。
- 编号为 1 的学生使用 1 支粉笔然后 k 5 。
- 编号为 2 的学生使用 5 支粉笔然后 k 0 。
编号为 0 的学生没有足够的粉笔所以他需要补充粉笔。
示例 2
输入chalk [3,4,1,2], k 25
输出1
解释学生消耗粉笔情况如下
- 编号为 0 的学生使用 3 支粉笔然后 k 22 。
- 编号为 1 的学生使用 4 支粉笔然后 k 18 。
- 编号为 2 的学生使用 1 支粉笔然后 k 17 。
- 编号为 3 的学生使用 2 支粉笔然后 k 15 。
- 编号为 0 的学生使用 3 支粉笔然后 k 12 。
- 编号为 1 的学生使用 4 支粉笔然后 k 8 。
- 编号为 2 的学生使用 1 支粉笔然后 k 7 。
- 编号为 3 的学生使用 2 支粉笔然后 k 5 。
- 编号为 0 的学生使用 3 支粉笔然后 k 2 。
编号为 1 的学生没有足够的粉笔所以他需要补充粉笔。
代码如下
class Solution {
public:int chalkReplacer(vectorint chalk, int k) {int sum0;//记录数组的数字总和int nchalk.size();//记录数组长度for(int i0;in;i){sumchalk[i];//将数组中的数字都加在一起if(sumk)//当sumk时返回当前数字{return i;}}int remaink%sum;//因为是循环的使用数字所以只用取余数求最后一轮的结果即可for(int i0;in;i){if(remainchalk[i])//当remainchalk[i]时说明此编号的学生没有足够的粉笔{return i;//返回当前此学生的编号}remain-chalk[i];}return -1;//寻找失败}
};