嗨,问题是:如果 array1 小于 array2,用数字 1 替换缺失值,这样 array1 缺失值就可以乘以 array2,就好像它们是数字 1 一样? 这是我关于如何解决这个问题的想法...帮助正确的语法?最好的方法是什么?
public addMissingNumber(int[] array1, int[] array2){
for (int 1 = array1.length; i > 0; i--)
for(int j = array2.length; j > 0; j--){
if(array1[i] < array2[j]) {
array1[i].[j] = 1;
/*what I want to say here is that the empty position of the array1[i] that is equivalent to the position of array2[j] that contains a number should become the number 1. How can this be done?*
}
}
}
这是原始考试问题,第二部分是我遇到的问题: 编写一个名为 add 的方法,它以两个 double 类型的数组 v、w 作为参数。该方法应返回一个新的 double 数组,该数组是通过添加输入数组的相应元素而形成的。也就是说,输出数组的元素i应该等于v[i]+w[i]。
如果 v 和 w 的长度不同,则输出数组的长度应为 (v.length, w.length) 的最大值。 在计算输出时,应假定较短数组中缺失的元素是其中之一。
最佳答案
试试这个:
public double[] addMissingNumber(double[] array1, double[] array2){
double[] arraynew = new double[max(array1.length,array2.length)];
int i = 0;
int j = 0;
int k = 0;
while ( i < array1.length && j < array2.length) {
arraynew[k] = array1[i] + array2[j];
i++;
j++;
k++
}
while(i < array1.length) {
arraynew[k] = array1[i]+1;
i++;
k++;
}
while(j < array2.length){
arraynew[k] = array2[j]+1;
j++;
k++;
}
return arraynew;
}
您不需要将 1 放入数组中。只需遍历两个数组直到它们相等并存储总和即可。之后遍历较长的数组,每次都加1。
关于Java:获取两个数组,如果其中一个的长度小于另一个的长度,则将缺失值替换为1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37499488/