我正在努力解決一個類似於Euler Problem 215的問題。我想我可以在不解釋整個問題和/或解決問題的完整方法的情況下解釋這一點。保存結果的最佳方式 - 動態編程
現在我正在用RT(數組的Arraylist,int i)進行遞歸調用。根據這項技術,我想保存結果,所以如果當RT要求相同的問題時,我可以簡單地查找答案,而不是重複,直到達到基本情況。只是爲了說明RT([3,7.5,10.5,15],2)。在遞歸中,右側的權利遞增。 Arraylist用於確定需要回憶的基本情況。
在美國,我對動態規劃的理解通常使用二維數組,其中結果被保存並使用被稱爲參考點的地方進行存儲。如果它像RT(int x,int y)那麼這很棒。但是我的問題呢?
我想我可以更改ArrayList字符串37510515,然後到一些使用的ASCII碼或數字本身。但我希望我可以像HashMap那樣使用ArrayList作爲鍵,但是這個HashMap中的缺陷只適用於一個值(我知道我可以鏈接,但是如何在存儲結果的同時工作很容易跟蹤什麼「INT我」它被稱爲?)
因此,總之,任何人都可以幫助我想到一種方法來存儲與ArrayList和int作爲兩個引用的結果?
在此先感謝!
是數組總是按照相同的順序?那很重要嗎?如果不是的話,那麼一棵B樹就可以工作,並且會保持最小讀數。如果你幸運的話,你可以做1次查找。最壞的情況下,你必須通過(在你的情況下)樹的5個層次。 – jasonmclose