题解 | #Redraiment的走法#
Redraiment的走法
http://www.nowcoder.com/practice/24e6243b9f0446b081b1d6d32f2aa3aa
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(in.hasNextInt()){
int n = in.nextInt();
int max = 0;
int[] array = new int[n];
for(int i=0; i<n; i++){
array[i] = in.nextInt();
}
System.out.println(walk(0, 0, 0, array));
}
}
//now第几格
//n已经走了几步
public static int walk(int now, int last, int n, int[] array){
int max = n;
for(int i=now; i<array.length; i++){
if(n == 0 || (array[i] > array[last])){
max = Math.max(max, walk(i+1, i, n+1, array));
}
}
return max;
}
}
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(in.hasNextInt()){
int n = in.nextInt();
int max = 0;
int[] array = new int[n];
for(int i=0; i<n; i++){
array[i] = in.nextInt();
}
System.out.println(walk(0, 0, 0, array));
}
}
//now第几格
//n已经走了几步
public static int walk(int now, int last, int n, int[] array){
int max = n;
for(int i=now; i<array.length; i++){
if(n == 0 || (array[i] > array[last])){
max = Math.max(max, walk(i+1, i, n+1, array));
}
}
return max;
}
}
查看3道真题和解析