日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時(shí)間:2024/7/5 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode 1894. 找到需要补充粉笔的学生编号 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • 1. 題目
    • 2. 解題

1. 題目

一個(gè)班級(jí)里有 n 個(gè)學(xué)生,編號(hào)為 0 到 n - 1 。
每個(gè)學(xué)生會(huì)依次回答問(wèn)題,編號(hào)為 0 的學(xué)生先回答,然后是編號(hào)為 1 的學(xué)生,以此類(lèi)推,直到編號(hào)為 n - 1 的學(xué)生,然后老師會(huì)重復(fù)這個(gè)過(guò)程,重新從編號(hào)為 0 的學(xué)生開(kāi)始回答問(wèn)題。

給你一個(gè)長(zhǎng)度為 n 且下標(biāo)從 0 開(kāi)始的整數(shù)數(shù)組 chalk 和一個(gè)整數(shù) k 。
一開(kāi)始粉筆盒里總共有 k 支粉筆。當(dāng)編號(hào)為 i 的學(xué)生回答問(wèn)題時(shí),他會(huì)消耗 chalk[i] 支粉筆。
如果剩余粉筆數(shù)量 嚴(yán)格小于 chalk[i] ,那么學(xué)生 i 需要 補(bǔ)充 粉筆。

請(qǐng)你返回需要 補(bǔ)充 粉筆的學(xué)生 編號(hào) 。

示例 1: 輸入:chalk = [5,1,5], k = 22 輸出:0 解釋:學(xué)生消耗粉筆情況如下: - 編號(hào)為 0 的學(xué)生使用 5 支粉筆,然后 k = 17- 編號(hào)為 1 的學(xué)生使用 1 支粉筆,然后 k = 16- 編號(hào)為 2 的學(xué)生使用 5 支粉筆,然后 k = 11- 編號(hào)為 0 的學(xué)生使用 5 支粉筆,然后 k = 6- 編號(hào)為 1 的學(xué)生使用 1 支粉筆,然后 k = 5- 編號(hào)為 2 的學(xué)生使用 5 支粉筆,然后 k = 0 。 編號(hào)為 0 的學(xué)生沒(méi)有足夠的粉筆,所以他需要補(bǔ)充粉筆。示例 2: 輸入:chalk = [3,4,1,2], k = 25 輸出:1 解釋:學(xué)生消耗粉筆情況如下: - 編號(hào)為 0 的學(xué)生使用 3 支粉筆,然后 k = 22- 編號(hào)為 1 的學(xué)生使用 4 支粉筆,然后 k = 18- 編號(hào)為 2 的學(xué)生使用 1 支粉筆,然后 k = 17- 編號(hào)為 3 的學(xué)生使用 2 支粉筆,然后 k = 15- 編號(hào)為 0 的學(xué)生使用 3 支粉筆,然后 k = 12- 編號(hào)為 1 的學(xué)生使用 4 支粉筆,然后 k = 8- 編號(hào)為 2 的學(xué)生使用 1 支粉筆,然后 k = 7- 編號(hào)為 3 的學(xué)生使用 2 支粉筆,然后 k = 5- 編號(hào)為 0 的學(xué)生使用 3 支粉筆,然后 k = 2 。 編號(hào)為 1 的學(xué)生沒(méi)有足夠的粉筆,所以他需要補(bǔ)充粉筆。提示: chalk.length == n 1 <= n <= 10^5 1 <= chalk[i] <= 10^5 1 <= k <= 10^9

來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/find-the-student-that-will-replace-the-chalk
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

2. 解題

class Solution { public:int chalkReplacer(vector<int>& chalk, int k) {long sum = 0;for(auto c : chalk)sum += c; // 所有學(xué)生需要的數(shù)量sum = k-k/sum*sum;//完整循環(huán)多少次后,還剩余的if(sum == 0) return 0;//能完整循環(huán),第0號(hào)沒(méi)有了for(int i = 0; i < chalk.size(); ++i){sum -= chalk[i];//每個(gè)人消耗的if(sum < 0)//不夠了,返回編號(hào)return i;}return -1;} };

140 ms 72.6 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

長(zhǎng)按或掃碼關(guān)注我的公眾號(hào)(Michael阿明),一起加油、一起學(xué)習(xí)進(jìn)步!

總結(jié)

以上是生活随笔為你收集整理的LeetCode 1894. 找到需要补充粉笔的学生编号的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。