我一直在解决leetcode上的问题(数组除自身之外的乘积(。我的代码编译成功,通过了19个测试用例中的18个。我试图找出失败的测试用例,但没有成功。
异常:超过时限
输入:https://leetcode.com/submissions/detail/439297112/testcase/-(70000个整数(
我的代码
public int[] productExceptSelf(int[] nums) {
int arr[] = { 1, 2, 3, 4 };
return mySolution(arr);
}
public static int[] mySolution(int arr[]) {
int size = arr.length;
int j;
int product;
int[] result = new int[size];
for (int i = 0; i < size; i++) {
j = 0;
product = 1;
while (j < size) {
if (j == i) {
j++;
continue;
}
product *= arr[j];
j++;
}
result [i] = product;
}
return result;
}
我认为这种逻辑应该会减少您的时间。我还没查。
product = 1;
for (int i = 0; i < size; i++) {
product *= arr[j];
}
for (int i = 0; i < size; i++) {
result[i] = product/arr[i]
}