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

更新於: 18-Dec-2019

117 人瀏覽

啟動您的 職業生涯

完成課程以獲得認證

開始
廣告