C++ 程式碼來計算未讀章節數
假設我們有一個 P 對陣列。其中 P[i] 以 (l, r) 形式出現,並有另一個數字 k。考慮我們準備讀一本有 n 章的書。書的每一頁都屬於一章,而每一章都至少包含一頁。我們已經讀了一些頁,並將編號為 k 的頁面標記為未讀的第一頁。我們必須找出我們尚未完全讀完的章節數。P[i] 表示章節頁碼範圍。
因此,如果輸入類似 P = [[1, 3], [4, 7], [8, 11]]; k = 4,則輸出將為 2,因為我們已經讀了第一章,還有另外兩章可以讀。
步驟
要解決此問題,我們將按照以下步驟操作 −
n := size of P for initialize i := 1, when i <= n, update (increase i by 1), do: if k >= P[i - 1, 0] and k <= P[i - 1, 1], then: return n - i + 1 return 0
示例
讓我們看下面的實現以更好地理解 −
#include <bits/stdc++.h>
using namespace std;
int solve(vector<vector<int>> P, int k){
int n = P.size();
for (int i = 1; i <= n; i++){
if (k >= P[i - 1][0] && k <= P[i - 1][1])
return n - i + 1;
}
return 0;
}
int main(){
vector<vector<int>> P = { { 1, 3 }, { 4, 7 }, { 8, 11 } };
int k = 4;
cout << solve(P, k) << endl;
}輸入
{ { 1, 3 }, { 4, 7 }, { 8, 11 } }, 4輸出
2
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP