鑑於大小n
的正整數數組範圍的平等高效查詢,因此預計找到兩個範圍是否給出作爲查詢是等於或不。如果範圍1中存在的所有元素都出現在範圍2中並且數量相同,則認爲兩個範圍相等。在一個整數數組
實施例:
1 2 5 3 5 1 2
查詢:
[1,3] and [5,7]
[2,4] and [3,5]
數目:
Yes
No
幼稚溶液可以通過以下方式被建議:
1.對於每個查詢,創建存儲每個範圍的數組的兩個副本。
2.然後對它們中的每一個進行排序。 O(n*logn)
3.然後,由元素比較元素並返回true
或false
。 O(n)
所以解決方案的複雜性是O(q*n*logn)
,其中q
是查詢的數量。有效解決這個問題有可能嗎?
PS:所有變量的約束條件爲n
,q
,數組元素爲<=10^5
。
有沒有空間限制?你總是可以爲空間折中時間。 – biziclop
@biziclop ...你可以安全地佔用50MB的空間。 – yobro97