用 C++ 查找一个区间,这个区间包含给定 N 个区间的所有元素
假设我们有 n 个区间,分别包含 L 和 R。我们必须检查或查找包含其他所有 n – 1 个给定区间的区间的 0-based 索引。如果没有这样的区间,则显示 -1。例如,如果 L = [2, 4, 3, 1],并且 R = [4, 6, 7, 9],则输出为 3。这意味着第 3 索引处的区间 (1-9) 包含其他所有 n – 1 区间的所有元素。
由于所有 L 和 R 点都是不同的,因此找到 L 点和 R 点最小的区间,如果这两个点在同一区间,则表示所有其他区间都在它里面。否则,这是不可能的。
实例
#include<iostream>
using namespace std;
int fact (int n) {
if (n == 0)
return 1;
return n * fact(n-1);
}
void showRange(int n) {
int a = fact(n + 2) + 2;
int b = a + n - 1;
cout << "[" << a << ", " << b << "]";
}
int main() {
int n = 3 ;
showRange(n);
}输出
[122, 124]
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP