給定3個排序數組。查找3個元素,每個數組中有一個元素,使a + b = c。它可以做到小於O(n^3)的時間複雜度嗎?請幫幫我。搜索多個排序數組及其複雜度
2
A
回答
2
它可以在O(N^2 * logN)複雜性中通過遍歷2個數組a和b和二進制搜索c在第三個數組中完成。
另一種方法是通過將其中一個數組的元素插入到散列中,對另外兩個數組中的a和b進行迭代,並查看c中是否存在c =(a + b)哈希值。
4
呼叫三個陣列A
,B
和C
,並且這些元件a
,b
和c
。
while循環前兩個數組,因爲如果a
是固定的,b
只能增加,c
也只能增加。
所以你不必通過C
循環每次你有一對a
和b
;只是循環通過C
雖然循環雖然B
會做。
假設現在所有三個陣列具有長度O(N)的時間複雜度爲O(N^2),由於在A
每一個值,你需要經過所有的B
和所有的C
,其數量是O(N)。
相關問題
- 1. 二進制搜索未排序數組的時間複雜度
- 2. 在二進制搜索中搜索排序數組的複雜度較低
- 3. 複雜的排序搜索領域,多個RealmResults聯合
- 4. PHP排序複雜的多維數組
- 5. 多組查詢 - jqgrid複雜搜索
- 6. 模板中的複雜數組搜索
- 7. PHP數組複雜的搜索
- 8. 排序時間複雜度
- 9. 搜索未排序數組
- 10. 查找在以下數組中搜索的時間複雜度
- 11. 複雜排序 - 多鍵
- 12. 通過全文搜索搜索一個句子及其組合
- 13. 廣度優先搜索完整圖的複雜度是多少?
- 14. 對複雜PHP數組進行排序
- 15. 特定的複雜數組排序
- 16. 按值排序複雜數組陣列
- 17. Python:在複雜數組上查找每行的多列搜索
- 18. 搜索記錄的時間複雜度?
- 19. lucene中的模糊搜索複雜度
- 20. TreeMap - 搜索時間複雜度
- 21. 雙向搜索的時間複雜度
- 22. 快速搜索時間複雜度?
- 23. 在3個數組中搜索常見數字的複雜性
- 24. Jqgrid複雜搜索
- 25. 2^N數組插入排序的時間複雜度?
- 26. 排序數組並找出複雜度O(n)
- 27. 按Θ(n)複雜度對數組進行排序
- 28. PHP搜索數組多個關鍵字和排序結果
- 29. Java,排序雙列數組及其索引
- 30. 根據最終排序索引對多個鍵進行JavaScript複雜排序
對於方法2,是否有任何有效的方法來解決它,因爲它是所有3個數組已被排序? – Neel 2012-04-26 14:35:17
您不能比O(N^2)更好地生成(a,b)對...散列中的搜索是O(1) – gabitzish 2012-04-26 14:39:24