- 猴子下山沿途摘桃,下山沿途路边有桃树,猴子不能回头,只能往下,猴子在每棵树只能摘一个桃,而且每次摘的桃树的桃子个数必须比上一次摘的桃树上的桃子多,问猴子最多能摘多少个桃?举栗子:5棵树,每棵树桃子数:10,4,5,12,8 ,则最多可以摘3个桃,依次是4,5,8
public class Main {
/** 请完成下面这个函数,实现题目要求的功能 **/
/** 当然,你也可以不按照这个模板来作答,完全按照自己的想法来 ^-^ **/
static int pick(int[] peaches) {
Integer max =0;
int count = 0;
Map<Integer ,Integer> map= new LinkedHashMap<>();
for( int i =peaches.length-1 ;i >=0 ;i -- ){
count = 0;
int current= peaches[i];
for( Map.Entry<Integer ,Integer> entry : map.entrySet()){
int key = entry.getKey();
int value = entry.getValue();
if( current < key ){
count = count > value ? count : value ;
}
}
count += 1;
map.put(current,count);
max = max >count ?max : count;
}
return max;
}
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int trees = Integer.parseInt(in.nextLine().trim());
int[] peaches = new int[trees];
for (int i = 0; i < peaches.length; i++) {
peaches[i] = Integer.parseInt(in.nextLine().trim());
}
System.out.println(pick(peaches));
}
}