C++ 程式碼用於計算完成書籍閱讀所需的天數


假設我們有一個帶有 n 個元素的陣列 A,並且有另一個值 t。第 i 天,阿馬爾花 A[i] 秒工作。在空閒時間,他會讀書。整本書需要 t 秒才能完成。我們必須找出他需要多少天才能讀完整本書。

因此,如果輸入為 A = [86400, 86398]; t = 2,則輸出將為 2,因為一天有 86400 秒,而第一天完全被阻塞。在第二天,他將獲得 2 秒來完成這本書。

步驟

為了解決這個問題,我們將按照以下步驟進行 −

cnt := 1
n := size of A
for initialize i := 0, when i < n, update (increase i by 1), do:
   x := A[i]
   t := t - 86400 - x
   if t <= 0, then:
      return cnt
   (increase cnt by 1)

示例

讓我們看看以下實現以獲得更好的理解 −

#include <bits/stdc++.h>
using namespace std;
int solve(vector<int> A, int t){
   int cnt = 1;
   int n = A.size();
   for (int i = 0; i < n; i++){
      int x = A[i];
      t -= 86400 - x;
      if (t <= 0){
         return cnt;
      }
      ++cnt;
   }
}
int main(){
   vector<int> A = { 86400, 86398 };
   int t = 2;
   cout << solve(A, t) << endl;
}

輸入

{ 86400, 86398 }, 2

輸出

2

更新於: 2022 年 3 月 29 日

253 次瀏覽

開啟您的 職業生涯

完成課程,獲得認證

開始吧
廣告
© . All rights reserved.