题解 | #不相邻取数#
不相邻取数
http://www.nowcoder.com/practice/a2be806a0e5747a088670f5dc62cfa1e
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
while (scan.hasNext()) {
int len = scan.nextInt();
long[] arr = new long[len];
for (int i = 0; i < len; i++) {
arr[i] = scan.nextLong();
}
long[] dp = new long[len];
dp[0] = arr[0];
if (len >= 2) {
dp[1] = arr[1];
if (len >=3){
dp[2] = arr[2]+arr[0];
}
}
for (int i = 3; i < len; i++) {
dp[i] = Math.max(dp[i - 2] + arr[i], dp[i - 3] + arr[i]);
}
Arrays.sort(dp);
System.out.print(dp[len - 1]);
}
}
}
