這篇文章主要介紹了java動態(tài)規(guī)劃方法怎么使用的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇java動態(tài)規(guī)劃方法怎么使用文章都會有所收獲,下面我們一起來看看吧。
10年積累的成都網(wǎng)站制作、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有綏濱免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
說明
1、動態(tài)規(guī)劃是一種編程原理,可以通過將非常復(fù)雜的問題分成較小的子問題來解決。
2、這個(gè)原則類似于遞歸,但不同于遞歸,每個(gè)不同的子問題只能解決一次。
使用流程
確定適合上述問題的遞歸關(guān)系。
初始存儲器,數(shù)組,矩陣的初始值。
確保當(dāng)我們進(jìn)行遞歸調(diào)用(可以訪問子問題的答案)時(shí),總是提前解決。
實(shí)例
public class dpSolution { static int getValue(int[] values, int rodLength) { int[] subSolutions = new int[rodLength + 1]; for (int i = 1; i <= rodLength; i++) { int tmpMax = -1; for (int j = 0; j < i; j++) tmpMax = Math.max(tmpMax, values[j] + subSolutions[i - j - 1]); subSolutions[i] = tmpMax; } return subSolutions[rodLength]; } public static void main(String[] args) { int[] values = new int[]{3, 7, 1, 3, 9}; int rodLength = values.length; System.out.println("Max rod value: " + getValue(values, rodLength)); } }
關(guān)于“java動態(tài)規(guī)劃方法怎么使用”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“java動態(tài)規(guī)劃方法怎么使用”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。