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