1668. 區間最小覆蓋
cat 專屬題目
數軸上有 n 個區間. 現在需要在數軸上選取一些點, 使得任意乙個區間內至少包含乙個點.
返回最少選取的點的數目.
樣例樣例 1:
輸入: [(1,5), (4,8), (10,12)]
輸出: 2
解釋:選擇兩個點: 5, 10
第乙個區間 [1, 5] 包含了 5
第二個區間 [4, 8] 包含了 5
第三個區間 [10, 12] 包含了 10
樣例 2:
輸入: [(1,5), (4,8), (5,12)]
輸出: 1
解釋: 所有區間都包含 5
注意事項
1 <= n <= 10^4
保證給定的區間合法, 且區間左右端點在[0, 10^5] 範圍內
給定的都是閉區間
按照開始時間排序選結束時間點,會漏掉開始晚結束早的。比如[(1,4),(2,3),(4,6)]
,按開始時間排序後,第一次選的是4
,跳過第二個區間,判斷第三個區間也能覆蓋,得到答案為1。實際上第二個區間被忽視了,4
這個點並不能覆蓋(2,3)
這個區間。
按照結束時間排序選結束時間點就沒問題了。
/**
* definition of interval:
* classs interval
* }*/class solution
}return res;
}static bool cmp(const interval& lhs, const interval& rhs)
};
6 8 區間最值
時間限制 3秒 空間限制 131072k 給定乙個陣列序列,需要求選出乙個區間,使得該區間是所有區間中經過如下計算的值最大的乙個 區間中的最小數 區間所有數的和最後程式輸出經過計算後的最大值即可,不需要輸出具體的區間。如給定序列 6 2 1 則根據上述公式,可得到所有可以選定各個區間的計算值 6 6...
LintCode 1652 區間異或 II
給定陣列 a 下標從0到n 1,n為陣列長度 和乙個查詢列表。每一項查詢包括兩個整數 i 和 k。對於每次查詢,計算ai,a i 1 a i k 1 的異或值。結果儲存在列表中。樣例1 輸入 a 1 2,3 4 and query 0,2 1,2 輸出 3 1 解釋 1 2 32 3 1 樣例2輸入...
lintcode205 區間最小數 線段樹
給定乙個整數陣列 下標由 0 到 n 1,其中 n 表示陣列的規模 以及乙個查詢列表。每乙個查詢列表有兩個整數 start,end 對於每個查詢,計算出陣列中從下標 start 到 end 之間的數的最小值,並返回在結果列表中。樣例 樣例1 輸入 陣列 1,2,7,8,5 查詢 1 2 0,4 2 ...