gpt4 book ai didi

java - 代码不适用于大排列

转载 作者:行者123 更新时间:2023-12-02 05:07:02 26 4
gpt4 key购买 nike

我刚刚完成了 codility 测试,只取得了 81% 的分数。当对“大排列”进行测试时,我的代码失败了。

我不知道为什么会失败,因为规范说所有值都是整数,而我的 for 循环仅使用 int 值。如果有人可以查看我的代码并告诉我为什么它为大量排列提供 -1 值,我将非常感激:-

https://codility.com/demo/results/demo4G8CJS-9YN/

class Solution {
public int solution(int X, int[] A) {
// write your code in Java SE 8

int target = X;
int[] path = new int[X];


for(int i = 0; i < A.length-1; i++) {
if(A[i] != path[A[i]-1]) {
path[(A[i]-1)] = A[i];
target--;
}

if(target==0) {
return i;
}

}
return -1;
}
}

最佳答案

应该是 for (int i = 0; i < A.length; i++)(而不是 i < A.length - 1)。截至目前,数组的最后一个元素被忽略。它实际上未能通过一个非常简单的测试:一个包含一个元素且 X = 1 的数组。

关于java - 代码不适用于大排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27697792/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com