4.9拼多多笔试题求指点
4.9拼多多笔试第一题,为啥这个只能过20%,有大佬指点一下吗?
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
if(n<3){
System.out.println(0);
return;
}
int[] arr = new int[n];
for(int i = 0;i<n;i++){
arr[i] = sc.nextInt();
}
int res = 0;
int[] dp1 = new int[n];
int[] dp2 = new int[n];
Arrays.fill(dp1,1);
Arrays.fill(dp2,1);
for(int i = 1;i<n;i++){
for(int j = 0;j<i;j++){
if(arr[i]>arr[j]){
dp1[i] = Math.max(dp1[i],dp1[j]+1);
}
if(arr[n-i-1]>arr[n-j-1]){
dp2[n-i-1] = Math.max(dp2[n-j-1]+1,dp2[n-i-1]);
}
}
}
for(int i = 0;i<n;i++){
if(dp1[i]>1&&dp2[i]>1){
res = Math.max(dp1[i]+dp2[i]-1,res);
}
}
System.out.println(res);
}
}
腾讯云智研发成长空间 262人发布
