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);



    }

}


#笔试题目##拼多多#
全部评论
需要连续数组
点赞 回复
分享
发布于 2021-04-09 17:42
我也以为子序列,一直20%.......😭
点赞 回复
分享
发布于 2021-04-09 17:53
滴滴
校招火热招聘中
官网直投

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务