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,好好学)

1894. 找到需要补充粉笔的学生编号

1894. 找到需要补充粉笔的学生编号