小猴子下山,沿着下山的路有一排桃树,每棵树都结了一些桃子。小猴子想摘桃子,但是有一些条件需要遵守,小猴子只能沿着下山的方向走,不能回头,每颗树最多摘一个,而且一旦摘了一棵树的桃子,就不能再摘比这棵树结的桃子少的树上的桃子。那么小猴子最多能摘到几颗桃子呢?
举例说明,比如有5棵树,分别结了10,4,5,12,8颗桃子,那么小猴子最多能摘3颗桃子,来自于结了4,5,8颗桃子的桃树。
import java.util.Scanner;
public class Main{
private static int getMax(int[] peaches) {
// TODO Auto-generated method stub
int len =peaches.length;
if(len == 0||len ==1){
return len;
}
int[] maxs = new int[len];
int maxnum = 0;
for(int i=len-1;i>=0;i--){
int temnum=0;
for(int j=i+1;j<len;j++){
if(peaches[j]>=peaches[i]&&maxs[j]>=temnum){
temnum= maxs[j];
}
if(temnum+1>maxnum)