谁能告诉我上述代码之间的逻辑区别

Vaibhav verma

我无法弄清楚为什么在社论代码正常工作时我的代码为什么不能满足该问题的测试用例。


题:

您位于无限的2D网格中,可以在8个方向中的任何一个上移动:

(x, y) to

(x+1, y), 
(x-1, y), 
(x, y+1), 
(x, y-1), 
(x-1, y-1), 
(x+1, y+1), 
(x-1, y+1), 
(x+1, y-1) 

系统会为您提供一系列的点以及覆盖这些点的顺序。给出实现它的最小步骤数。您从第一点开始。


输入:

给定两个整数数组AB,其中A[i]x coordinateB[i]y coordinate分别的第i个点的。

输出:

返回一个整数(即最小步数)。

例:

Input : [(0, 0), (1, 1), (1, 2)]
Output : 2

从移走只需一步(0, 0) to (1, 1)从移出还需要一步(1, 1) to (1, 2)


我的代码:

int coverPoints(int *A, int n1, int *B, int n2) {
    int count = 0, ele1 = 0, ele2 = 0, i;

    for (i = 0; i < n1 - 1; i++) {
        ele1 = abs(A[i+1] - A[i]);
        ele2 = abs(B[i+1] - A[i]);
        if (ele1 > ele2) {
            count += ele1;
        } else {
            count += ele2;    
        }
    }
    return count;
}

编辑解决方案:-

int coverPoints(int *X, int n1, int *Y, int n2) {
    int stepsx = 0, stepsy = 0, diffx = 0, diffy = 0, steps = 0;
    int i = 0;

    for(i = 0; i < (n1-1); i++) {
        diffx = X[i+1] - X[i];
        if (diffx < 0)
            diffx = diffx * (-1);
        //stepsx = stepsx + diffx;

        diffy = Y[i+1] - Y[i];
        if (diffy < 0)
            diffy = diffy * (-1);
        //stepsy = stepsy + diffy;

        if (diffx > diffy)
            steps = steps + diffx;
        else
            steps = steps + diffy;
    }

    return steps;
}

不起作用的测试用例是:-

A : [ 4, 8, -7, -5, -13, 9, -7, 8 ]
B : [ 4, -15, -10, -3, -13, 12, 8, -8 ]

expected output = 108
my output = 105
戈兰·马齐德·萨吉布

这条线有问题

ele2 = abs(B[i+1]-A[i]);

diffy = Y[i+1] - Y[i];

这将是 :

ele2 = abs(B[i+1]-B[i]);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

谁能告诉我代码中return与alert函数之间的区别是什么?

谁能告诉我这段代码的作用?

谁能告诉我servlet映射url-pattern中/和/ *之间的区别?

谁能告诉我 laravel 中 get() 和 all() 的区别?

谁能告诉我我的代码出了什么问题

谁能告诉我这段代码是什么意思?

谁能告诉我代码中发生了什么?

请告诉我这两个代码之间的区别

谁能告诉我这个密码的名称?

谁能告诉我如何实现?

谁能告诉我这行的意思?

MessagePack,Protobuf和JSON有什么区别?谁能告诉我何时使用哪个

为什么我们使用此代码请谁能告诉我

谁能告诉我,为什么我的js代码未在jsfiddle上运行?

谁能告诉我为什么我的代码显示的pi值错误?

谁能告诉我为什么我在此C代码中出现分段错误?

谁能告诉我他们是否在以下PHP代码中看到错误?

谁能告诉我如何完成此操作:数组与指针的关系代码

谁能告诉我快速排序代码中的错误是什么

谁能告诉我以下两个java代码(a)和(b)的时间复杂度

谁能告诉我是否使用正确的代码来打印此ArrayList中的内容?

谁能告诉我是否可以在 wemos d1 mini 上刷 javascript 代码?

谁能告诉我这个CSS代码有什么问题吗?

谁能告诉我如何在代码中增加蛇的大小?

谁能告诉我这段代码在C#中到底意味着什么?

谁能告诉我为什么这超过了 2 秒的时间限制?(短代码)

谁能告诉我我的功能出了什么问题?

谁能告诉我为什么我的代码将我的 Z 数组返回为 0?(CUDA C)

谁能告诉我python中的pika和kombu消息传递库有什么区别?