php的可编性问题解答
我刚刚用php编写了一个平衡问题的解决方案。问题是,对于Codibility提供的自动代码修改,我得到了一些错误的答案。 指向已完成测试的链接是 知道什么是php的可编性问题解答,php,Php,我刚刚用php编写了一个平衡问题的解决方案。问题是,对于Codibility提供的自动代码修改,我得到了一些错误的答案。 指向已完成测试的链接是 知道什么是两个元素错误答案错误吗? 这个测试需要在php中键入(typecast)变量吗?我的意思是,在php中,如何判断编译器X变量是double还是int?太多了 两个元素测试用例可能是{-1000,1000}。此阵列只能在一个位置拆分,距离为|-1000-1000 |=2000。这个输入的程序返回0,因为在for循环的第二次迭代中,$arr_h
两个元素错误答案错误吗?
这个测试需要在php中键入(typecast)变量吗?我的意思是,在php中,如何判断编译器X变量是double还是int?太多了 两个元素测试用例可能是{-1000,1000}。此阵列只能在一个位置拆分,距离为|-1000-1000 |=2000
。这个输入的程序返回0,因为在for循环的第二次迭代中,$arr_h是0,$sum_total也是0
只需更改($i=$count_u-1;$i>0;$i--)的循环中的条件即可获得100%。“两个元素”测试用例是{-1000,1000},可以执行其他测试(如果(N==2))来解决此问题。
在进入第二个循环之前,应在将起始值设置为tmp变量(查看我的示例)后通过“小元素”测试用例。我的例子是C语言,但它可以很容易地用其他语言实现:
int TapeEquilibrium(int A[], int N) {
long long sum = 0;
int i = 0, j = 0;
int min = 1000;
if (N == 2) {
return abs(A[0] - A[1]);
}
for(i = 0; i < N; i++)
{
sum += A[i];
}
long long left = 0;
long long right = sum;
int tmp = abs(left - right);
for(j = 1; j < N; j++)
{
right -= A[j - 1];
left += A[j - 1];
tmp = abs(left - right);
if (min > tmp)
{
min = tmp;
}
}
return min;
}
int(int A[],int N){
长和=0;
int i=0,j=0;
int最小值=1000;
如果(N==2){
返回abs(A[0]-A[1]);
}
对于(i=0;itmp)
{
min=tmp;
}
}
返回最小值;
}