用 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]
廣告