假設我有一個列表[1,2,3,4,4]
和一個目標5
。我需要找到總和爲5的所有對,即(1,4),(1,4),(2,3)
。有人可以建議我一個算法如何解決它在不到O(n^2)
。 我在準備面試的時候會看到這個問題,但我無法在小於O(n^2)
的範圍內解決問題。 任何幫助表示讚賞檢索加到列表中的目標的所有數字對
-4
A
回答
0
嗯,讓我顯示想法,你會實現吧,好不好?
第一階段。建立一個字典(地圖)其中key = number
,value = number's occurrencies
。例如。對於[1, 2, 3, 4, 4]
我們應該有
{1, 1}, // we have exactly one 1
{2, 1}, // -/- 2
{3, 1}, // -/- 3
{4, 2} // we have two 4's
您可以創建這樣一個字典中線性時間O(N)
。
第二階段。掃描陣列,對於每個item
查看字典中的key = 5 - item
並重復 (item, 5 - item)
對value
次。例如。對於[1,2,3,4,4]
我們將有
item | key | value | output
-----------------------------------
1 | 4 | 2 | (1, 4), (1, 4)
2 | 3 | 1 | (2, 3)
3 | 2 | 1 | (3, 2)
4 | 1 | 1 | (4, 1)
4 | 1 | 1 | (4, 1)
正如你所看到的第二個階段,也O(N)
+0
謝謝你這麼多先生 –
相關問題
- 1. 找到序列中所有目標字符串的索引
- 2. 檢索Haskell項目中所有導入的列表
- 3. 添加到列表中的對象最終添加到所有列表對象
- 4. MySQL查詢檢索表中的所有列的字符串
- 5. 檢索博主中所有標籤的列表
- 6. 檢索YouTube用戶添加到所有播放列表的所有視頻
- 7. MediaStore.Audio檢索包含音頻的所有目錄列表
- 8. 從SharePoint字段選擇列中檢索所有項目
- 9. 檢索緩存中的所有項目
- 10. 在JSON的列表檢索最後目標對象
- 11. 檢索SQL Server數據庫中所有表的名稱列
- 12. 如何檢索kendo ui下拉列表中的所有數據?
- 13. Oracle在字符串中搜索所有表的所有列
- 14. 檢索JavaScript對象中的所有值
- 15. 搜索db2數據庫所有表的所有列中的值
- 16. 有沒有辦法根據列表中的所有數字來檢查數字?
- 17. 追加所有列表項目只有目標最後一項
- 18. 檢索列中的所有值
- 19. Python對象列表,每個對象都有自己的數組字典。附加到一個附加到所有
- 20. 刪除包含數字的Python列表中的所有項目
- 21. 打印所有字典列表中的所有項目
- 22. appendAll - 將列表追加到列表中的所有列表
- 23. Sharepoint搜索列表中的所有列
- 24. 從字典中檢索到列表python
- 25. 檢索項匹配的標籤,並同時檢索到的各項目走的所有標籤
- 26. 如何從下拉列表中檢索所選項目的值?
- 27. 我可以檢索添加到數據庫表中的所有新行嗎
- 28. 使用XPath檢索有序列表中的所有鏈接
- 29. 檢索MS ACCESS中的所有表格
- 30. 在數據表的所有列中搜索字符串
你需要顯示在第一解決這個_your_嘗試。 –
瞭解有關哈希映射的更多信息,然後嘗試。 – Shashank
我試着比較一個元素與所有元素 –