美团第一题哪里错了

import java.util.HashMap;
import java.util.Scanner;

public class Meituan1 {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner in = new Scanner(System.in);
    int n = in.nextInt();
    int[] p = new int[n];
    for(int i = 0;i<n;i++){
        p[i] = in.nextInt();
    }
    HashMap<Integer,Integer> hash = new HashMap();
    int[] a = new int[n];
    int sum1 = 0;
    hash.put(0, -1);
    for(int i = 0;i<n;i++){
        sum1 += p[i];
        hash.put(sum1, i);
        a[i] = sum1;
    }
    int sumAll = sum1;
    int K = in.nextInt();
    int len = 0;
    int i=1;
    while(i*K <= sumAll){
        int target = i*K;
        for(int j=0;j<n;j++){
            if(hash.containsKey(a[j]-target)){                    
                len = Math.max(j-hash.get(a[j]-target),len);                    
            }
        }
        i++;
    }
    System.out.println(len);

}

}

只过了58%,求大佬帮忙看看哪里错了
全部评论
没有提示你超时?下面有3行巴拉巴拉的,你没看?就是时间复杂度的问题。。。。。
点赞 回复 分享
发布于 2017-08-31 22:25
33%,同问哪里错了???
点赞 回复 分享
发布于 2017-08-31 22:16
求大佬帮忙看看,不知道哪里不对超级纠结
点赞 回复 分享
发布于 2017-08-31 22:10
我的也是,感觉思路就是这丫
点赞 回复 分享
发布于 2017-08-31 21:41

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务