LeetCode 1894 找到需要补充粉笔的学生编号[取余] HERODING的LeetCode之路
Posted HERODING23
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 1894 找到需要补充粉笔的学生编号[取余] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。
解题思路:
首先,祝天下老师教师节快乐!
这是一道本质为easy的题目,不用想复杂,直接用最直接的思路来,就是最简单的方法,首先统计好当每个人都取一遍的所用粉笔量,然后拿总粉笔量对其取余,这样可以省去许多不必要的循环操作,这个时候直接找到哪一位粉笔刚好用完且不够,返回其索引即可,注意用这种方法有个坑存在,就是总粉笔数量可能会溢出,用long long可以解决这个问题。代码如下:
class Solution {
public:
int chalkReplacer(vector<int>& chalk, int k) {
long long num = 0;
int n = chalk.size();
for(int i = 0; i < n; i ++) {
num += chalk[i];
}
k %= num;
int index = 0;
while(1) {
k -= chalk[index];
if(k < 0) {
break;
}
index ++;
}
return index;
}
};
/*作者:heroding
链接:https://leetcode-cn.com/problems/find-the-student-that-will-replace-the-chalk/solution/czui-jian-si-lu-by-heroding-i31o/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。*/
以上是关于LeetCode 1894 找到需要补充粉笔的学生编号[取余] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 1894 找到需要补充粉笔的学生编号[取余] HERODING的LeetCode之路
LeetCode刷题1894-中等-找到需要补充粉笔的学生编号
LeetCode刷题1894-中等-找到需要补充粉笔的学生编号
LeetCode 68. 文本左右对齐 / 1894. 找到需要补充粉笔的学生编号 / 600. 不含连续1的非负整数(数位dp,好好学)