大佬们可否帮我看一下京东笔试第二题这样写为什么WA

图片说明

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class JD2 {
    public static void main(String[] args) {
        Scanner in  = new Scanner(System.in);
        int n = in.nextInt();
        int[] a = new int[n];
        int[] b = new int[n];
        int[] c = new int[n];
        int[] sorteda = new int[n];
        int[] sortedb = new int[n];
        int[] sortedc = new int[n];
        List<Integer> troubleList = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            a[i] = in.nextInt();
            sorteda[i] = a[i];
            b[i] = in.nextInt();
            sortedb[i] = b[i];
            c[i] = in.nextInt();
            sortedc[i] = c[i];
        }

        Arrays.sort(sorteda);
        Arrays.sort(sortedb);
        Arrays.sort(sortedc);

        for (int i = 0; i < n; i++) {
            int pos = Arrays.binarySearch(sorteda,a[i]);
            if (pos >= n-1) break;
            else troubleList.add(i);
        }
        if (troubleList.isEmpty()) System.out.println(0);
        for (int tmp = 0;tmp < troubleList.size(); tmp++) {
            int pos = Arrays.binarySearch(sortedb,b[tmp]);
            if (pos >= n-1) troubleList.remove(tmp);

        }
        if (troubleList.isEmpty()) System.out.println(0);
        for (int tmp = 0;tmp < troubleList.size(); tmp++) {
            int pos = Arrays.binarySearch(sortedc,c[tmp]);
            if (pos >= n-1) troubleList.remove(tmp);
        }
        System.out.println(troubleList.size());
    }
}

按照题目给出的test case输出是对的

#京东##笔试题目#
全部评论
两个for循环比较,直接AC,知道真相的我眼泪掉下来。
点赞 回复 分享
发布于 2018-09-09 21:44
emmm.....我也用的list,不过我没用排序,代码如下。。互相学习。
点赞 回复 分享
发布于 2018-09-09 21:37
emmm.....我也用的list,不过我没用排序,代码如下。。互相学习。 public static void main(String[] args) { // TODO Auto-generated method stub int lowCount=0; Scanner s1=new Scanner(System.in); List<Integer> a1=new ArrayList(); List<Integer> a2=new ArrayList(); List<Integer> a3=new ArrayList(); int count=Integer.parseInt(s1.nextLine()); for (int i = 0; i < count; i++) { String io2 = s1.nextLine(); String[] str2 = io2.split("\\s+"); a1.add(Integer.parseInt(str2[0])); a2.add(Integer.parseInt(str2[1])); a3.add(Integer.parseInt(str2[2])); } for (int i = a1.size()-1 ; i >=0;i--) { for (int j = 0; j <a1.size(); j++) { if(a1.get(i) < a1.get(j) && a2.get(i) < a2.get(j) && a3.get(i) < a3.get(j)){ lowCount++; a1.remove(i); a2.remove(i); a3.remove(i); break; } } } System.out.println(lowCount); }
点赞 回复 分享
发布于 2018-09-09 21:37

相关推荐

10-21 16:54
门头沟学院 Java
后端转测开第一人:微服务没用 校招都不看微服务的 还有就是后端行情是这样的 找实习纯看运气 秋招更是吃运气和缘分 如果对代码没有极致的追求 可以转测开
应届生简历当中,HR最关...
点赞 评论 收藏
分享
今天 13:12
已编辑
门头沟学院 Java
斯卡蒂味的鱼汤:知道你不会来数马,就不捞你😂最近数马疯狂扩招,招聘要求挺低的,你能力肯定够,应该就是因为太强了,知道你不会来才不捞你
投递腾讯云智研发等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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