小猴子摘桃子问题 -- JAVA 算法学习

来源:互联网 发布:淘宝代购在哪里 编辑:程序博客网 时间:2024/06/04 18:14

小猴子下山,沿着下山的路有一排桃树,每棵树都结了一些桃子。小猴子想摘桃子,但是有一些条件需要遵守,小猴子只能沿着下山的方向走,不能回头,每颗树最多摘一个,而且一旦摘了一棵树的桃子,就不能再摘比这棵树结的桃子少的树上的桃子。那么小猴子最多能摘到几颗桃子呢?

举例说明,比如有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 stubint 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){maxnum = temnum+1;}}maxs[i]=temnum+1;}return maxnum;}public static void main(String[] args) {Scanner sc = new Scanner(System.in);while(sc.hasNext()){int n = sc.nextInt();int[] peaches = new int[n];for(int i=0;i<n;i++){peaches[i] = sc.nextInt();}System.out.println(getMax(peaches)+"");}}}



在网上在线模拟测试的 提交了  但是显示正确率0.00%   55555555555~~~~~~(自己测试可以的啊)


原创粉丝点击