這題的 n, k 都很大。
針對每筆查詢,用迴圈找肯定很耗時的。
用 find 或是 index 肯定也很慢。
分享快一點的方法
以這組測資為例:
6 3
3 7 1 5 1 4
3 5
1 7
3 10
可用 dict 紀錄每個值第一次出現和最後一次出現的位置 ( 只跑一次迴圈 )
3 7 1 5 1 4
可以是 M = {3: [0], 7: [1], 1: [2, 4], 5: [3], 4: [5]]
針對每組查詢 a, b
只要符合 M[b][-1] > M[a][0] 即是 YES
python 的 dictionary 很好用
https://chiendavid.blogspot.com/2023/06/zero1puichingedumo-train-and-queries.html
外面的世界, n 都很大。