题解 | #不相邻取数#

不相邻取数

http://www.nowcoder.com/practice/a2be806a0e5747a088670f5dc62cfa1e

// import java.util.; import java.util.; public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); int n = in.nextInt(); Long[] arr = new Long[n]; for(int i = 0;i < n;i++){ arr[i] = in.nextLong(); } Long[] dp = new Long[n]; dp[0] = arr[0]; dp[1] = arr[1] > arr[0] ? arr[1] : arr[0]; dp[2] = dp[0] + arr[2]; for(int i = 3;i < n;i++){ dp[i] = arr[i] + Math.max(dp[i-2],dp[i-3]); } System.out.println(dp[n - 1] > dp[n - 2] ? dp[n-1] : dp[n-2]) ; } }

// public class Main { // public static void main(String[] args) { // Scanner in = new Scanner(System.in); // int n = in.nextInt(); // long[] arr = new long[n]; // for(int i=0;i<n;i++){ // arr[i] = in.nextLong(); // } // if(n==1){ // System.out.println(arr[0]); // } // if(n==2){ // System.out.println(arr[1]>arr[0]?arr[1]:arr[0]); // } // long[] dp = new long[n]; // dp[0] = arr[0]; // dp[1] = arr[1]; // dp[2] = arr[0]+arr[2]; // for(int i=3;i<dp.length;i++){
// dp[i] = arr[i]+(dp[i-2]>dp[i-3]?dp[i-2]:dp[i-3]); // }
// System.out.println(dp[n-1]>dp[n-2]?dp[n-1]:dp[n-2]); // } // }

全部评论

相关推荐

头像
不愿透露姓名的神秘牛友
05-27 11:41
已编辑
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务