我給了一個數組,arr = [3,4,2,3,0,3,1,2,1]和一個startIndex。當我在索引i時,我可以通過arr [i]向左或向右移動。我的任務是找到我是否可以達到0. 任何人都可以幫助我的方法嗎? 謝謝:)如何確定我是否可以在數組中達到零點?
0
A
回答
0
解決的辦法是尋找路徑在圖形
這裏真正的問題沒有得到解決,它的正確建模的問題。解決方案是微不足道的。
首先,你並沒有真正的數組。你有什麼是圖。如果你從未做過任何graph theory,這將會有點複雜。
陣列中的每個索引都是node。存儲在該索引處的值將爲您提供lines,使用指示移動方向的箭頭將其鏈接到其他節點。例如,您指定的數組給出了以下圖表:
每個節點都標有它在數組中的位置(0到8)。 您想要到達的節點是紅色的。 這是假設你可以移動到數組的開頭,一旦到達數組的末尾,反之亦然。
現在您只需找到4
與您的startIndex
之間的路徑。您可以申請Dijkstra's algorithm找到最短路徑。
太好了。現在我該如何製作圖表?
如果你對如何實現一個圖表沒有任何想法,you can check this stackoverflow question爲java實現。
您可以輕鬆找到任何其他語言的實現。
相關問題
- 1. 如何確定java中的字節數組是否全爲零
- 2. 如何確定主機是否可達?
- 3. 如何確定特定節點是否可以找到所有其他節點?
- 4. 如何確定值是否爲零?
- 5. 確定是否點可見
- 6. iPhone:我如何確定主機是否可達?
- 7. 如何確定在使用寬度優先搜索的有向圖中是否可以達到頂點
- 8. jQuery/js是否可以幫助我確定URL是否存在
- 9. 在MSBuild中可以確定我是否在Visual Studio中運行
- 10. 我可以確定是否在複合組件中定義了JSF2構面?
- 11. 如何確定數組是否已滿
- 12. 如果我使用CAEAGLLayer,是否可以確定每秒幀數?
- 13. 是否可以定義__cplusplus等於零?
- 14. 確定數組中是否存在值
- 15. 我可以確定/如何檢測設備是否有振動?
- 16. 確定點A是否需要切角才能到達點B
- 17. 在Ado.Net中,我可以確定結果集中的列是否可以爲空?
- 18. 在Powershell中,我可以確定我的函數是否使用-ErrorAction SilentlyContinue調用?
- 19. 是否可以確定函數是否有參數?
- 20. 測試我的數組在給定索引處是否爲零?
- 21. VBA - 確定IP是否可達
- 22. 確定UDP主機是否可達?
- 23. 是否可以在數組中找到元組的索引?
- 24. 如何確定數組是否在VB6中初始化?
- 25. 如何確定數組是否保存在rails中?
- 26. 如何確定元素是否不在數組中?
- 27. 在數組中指定可選爲零
- 28. 如何檢查數組以查看它是否包含零值?
- 29. Python:我如何檢查是否可以添加兩個數組?
- 30. 如何輕鬆確定函數是否可以在Linux內核中休眠?
您的答案已經在您使用的標籤中:使用圖搜索算法。深度優先或寬度優先可以做到。 – user2357112
如果您在嘗試應用此類算法時遇到了一些特定問題,請詢問您的具體問題。 – user2357112
我只是提示我必須使用dfs或bfs,但我無法獲得整個方法,比如我該如何啓動 –