我用土法煉鋼的方法,把所有區間的值都+1,如果加了之後的值是1就代表他是第一次被找到,就在ans+1,最後ans就是答案了,用java實現會對70%後TLE,用python則是35%後TLE,c++就直接AC了
建議想一下為什麼 Java 會 TLE (Python 陣列存取慢就算了),是不是因為方法不對 ? (題外話是這題 Python 方法對,常數不要太大其實也有機會過,Java 的話是方法對肯定會過。)
可以想像一下,構造一個極端測試資料,這裡每個區間都很大,都是
10000
1 10000000
1 10000000
1 10000000
1 10000000
...
1 10000000
基於某些我不知道的原因,這題沒有這種測試資料,所以土法煉鋼有可能會過,但據我所知官方考試一定會有這種「機車」的資料,真實經歷是以前我高中考 APCS 的時候拿最糟情況時間
對於自己作法有沒有上述提到的問題有疑慮的, 我推薦可以試看看這題,裡面放了我說的極端測資,題目跟條件跟這題都是一樣的 : https://zerojudge.tw/ShowProblem?problemid=f855 (第 3 題 線段覆蓋長度 測資加強版)
最後感謝大家看到這裡