如何修复代码的不递增部分(JAVA)?

时间:2019-04-28 18:58:02

标签: java arrays

由于某种原因,当满足条件时,代码不会递增两个数组,即xa []和yarray []。这应该是2019年代码阻塞第1B轮问题的解决方案,可以在此处找到问题。如果您能帮助我,我将不胜感激。

我尝试更改了增量语句,并尝试更改了循环语句,但是没有成功。

  

样本输入:3 1 10 5 5 N 4 10 2 4 N 2 6 S 1 5 E 3 5 W 8 10 0 2 S 0 3   N 0 3 N 0 4 N 0 5 S 0 5 S 0 8 S 1 5 W

导入java.util。*;

公共类主要{

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    int cases = input.nextInt();

    for (int a = 1; a <= cases; a++) {
        int people = input.nextInt();
        int length = input.nextInt();

        int[] xa = new int[length];
        int[] yarray = new int[length];

        for (int b = 1; b <= people; b++) {

            int xd = input.nextInt();
            int yd = input.nextInt();
            String direction = input.next();

            if (direction =="N") {
                for (int c = (yd + 1); c < length; c++) {
                    yarray[c]+=1;
                }
            }
            else if (direction == "S") {
                for (int v = (yd - 1); v >= 0; v--) {
                    yarray[v]+=1;
                }
            }
            else if (direction == "E") {
                for (int o = (xd + 1); o < length; o++) {
                    xa[o]+=1;
                }
            }
            else if (direction == "W") {
                for (int m = (xd - 1); m >= 0; m--) {
                    xa[m]+=1;
                }
            }
        }
        int max = xa[0];
        int xcord = 0;
        for(int i = 0; i < length; i++)
        {
            if(max < xa[i])
            {
                max = xa[i];
                xcord=i;
            }
        }

        int maxy = yarray[0];
        int ycor=0;

        for(int i = 0; i < length; i++)
        {
            if(maxy < yarray[i]) {
                maxy = yarray[i];
                ycor=i;
            }
        }

        System.out.println("Case #" + a + ": " + xcord + " "+ ycor);

    }

}

}

输出应该是两个数组中最大整数的位置。

0 个答案:

没有答案