小猴子下山,沿着下山的路有一排桃樹,每棵樹都結了一些桃子。小猴子想摘桃子,但是有一些條件需要遵守,小猴子只能沿着下山的方向走,不能回頭,每顆樹最多摘一個,而且一旦摘了一棵樹的桃子,就不能再摘比這棵樹結的桃子少的樹上的桃子。那么小猴子最多能摘到幾顆桃子呢?
舉例說明,比如有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=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
在網上在線模擬測試的 提交了 但是顯示正確率0.00% 55555555555~~~~~~(自己測試可以的啊)