相邻数字+(正月点灯笼的动态规划2)(递归+DP)---JAVA
生活随笔
收集整理的這篇文章主要介紹了
相邻数字+(正月点灯笼的动态规划2)(递归+DP)---JAVA
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
思路分析
代碼實現
遞歸實現
package com.kuang.study.lanqiao;public class Main {public static void main(String[] args) {int arr[]={1,2,4,1,7,8,3};int max = d(arr,arr.length-1);System.out.println(max);}public static int d(int[] arr,int n){if(n==0){return arr[0];}else if(n==1){return Math.max(arr[0],arr[1]);}else {return Math.max(d(arr,n-2)+arr[n],d(arr,n-1));}} }非遞歸實現
package com.kuang.study.lanqiao;import java.util.Arrays;public class Main {public static int opt[]=new int[7];public static void main(String[] args) {int arr[]={1,2,4,1,7,8,3};opt[0]=arr[0];opt[1]=Math.max(arr[0],arr[1]);for (int i = 2; i < arr.length; i++) {opt[i]=Math.max(opt[i-2]+arr[i],opt[i-1]);}System.out.println(Arrays.toString(opt));System.out.println(opt[arr.length-1]);} }總結
以上是生活随笔為你收集整理的相邻数字+(正月点灯笼的动态规划2)(递归+DP)---JAVA的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dell电脑配置怎么看?
- 下一篇: 交换数组中的两个元素