
題目描述在某個項目中有多個任務(用 tasks 數組表示)需要處理,其中 tasks[i] = [si, ei],你可以在 si = day = ei 中的任意一天處理該任務。每天最多處理一個任務,請返回可以處理的最大任務數。輸入描述:第一行為任務數量 n,1 = n = 100000。后面 n 行表示各個任務的開始時間和終止時間,用 si, ei 表示,1 = si = ei = 100000。輸出描述:一個整數,表示可以處理的最大任務數。示例 1輸入:3 1 1 1 2 1 3輸出:3說明:三個任務分別在第 1、2、3 天處理,全部完成。講個故事:排期工程師的煩惱項目經理甩過來一堆任務,每個任務有個時間窗口 [si, ei],只要在這個窗口里挑一天做掉就行。但每天只能做一個,問最多能做掉幾個。窗口越靠后結束的越不急,先緊著早結束的安排,把每一天盡量塞滿。可是一個個找空閑日子很慢,得用并查集快速跳到下一個可用的日子。說白了就是貪心挑結束早的任務,配并查集找空位。核心原理:按結束日排序加并查集找空位貪心策略:任務按結束日升序排(結束早的先安排,給后面騰空間)。對每個任務 [s, e],從 s 起找第一個還沒被占用的日子 day,如果 day = e,就在這天做掉,并