1. 程式人生 > 其它 >打家劫舍(一) 動態規劃

打家劫舍(一) 動態規劃

import java.util.*;

public class Solution {     /**      * 程式碼中的類名、方法名、引數名已經指定,請勿修改,直接返回方法規定的值即可      *      *       * @param nums int整型一維陣列       * @return int整型      */           public int rob (int[] nums) {         // write code here
        if(nums.length==1){             return nums[0];         }else if(nums.length == 2){             return Math.max(nums[0], nums[1]);                      }else{             int max = 0;             int[] dp = new int[nums.length];             dp[0] = nums[0];             dp[1] = Math.max(nums[0], nums[1]);             max = dp[1];             for(int i=2; i<nums.length; i++){                 dp[i] = Math.max(dp[i-2]+nums[i], dp[i-1]);                 if(dp[i]> max){                     max = dp[i];                 }             }             return max;         }              } }