public int[] join(int[] arr1,int[] arr2){
int[] joinArr=new int[arr1.length + arr2.length];
int j=0,k=0;
for(int i=0;i<joinArr.length;i++){
if(j==arr1.length){
joinArr[i]=arr2[k];
}
else if(k==arr2.length){
joinArr[i]=arr1[j];
}
else if(arr1[j]>arr2[k]){
joinArr[i]=arr1[j];
j++;
}
else{
joinArr[i]=arr2[k];
k++;
}
}
return joinArr;
}
Testcase1参数
{100,90,80,70,60}
{105,95,85,75,65}
Testcase1实际答案
{105,100,95,90,85,80,75,70,65,60}
Testcase1预期答案
{105,100,95,90,85,80,75,70,65,60}
Testcase2参数
{100,90,80,70,60}
{105}
Testcase2实际答案
{105,100,100,100,100,100}
Testcase2预期答案
{105,100,90,80,70,60}
当我运行Testcase2时,它没有给出预期的答案,我该如何解决此问题?
尝试这种方式:
public static int[] join(int[] arr1,int[] arr2){
int[] joinArr=new int[arr1.length + arr2.length];
int i=0,j=0,k=0;
while(i<arr1.length && j<arr2.length){ // coping from both the array while one of them is exhausted
if( arr1[i]>arr2[j]){
joinArr[k++]=arr1[i++]; // coping from arr1 and update the index i and k.
}else if(arr1[i]<arr2[j]){
joinArr[k++]=arr2[j++]; // coping from arr2 and update the index j and k.
}else{
joinArr[k++]=arr2[j++]; // coping from any of arr1 or arr2 and update the index i,j and k.
i++;
}
}
if(i<arr1.length){ // coping from the array arr1 since arr2 is exhausted
while(i<arr1.length ){
joinArr[k++]=arr1[i++];
}
}
if(j<arr2.length){ // coping from the array arr2 since arr1 is exhausted
while(j<arr2.length ){
joinArr[k++]=arr2[j++];
}
}
return Arrays.copyOf(joinArr, k);
}
有人能提供帮助,如何检查排序降序数组以及?干杯!
问题内容: 以下代码将按 升序 对数组进行排序: 我需要 按降序 排序。如何使用比较器执行此操作? 请帮忙。 问题答案: 对于原始数组类型,您必须编写一个反向排序算法: 或者,您可以将转换为并编写比较器: 或使用,因为它仅适用于非原始数组类型。 最后,
问题内容: 有没有什么简便的方法可以按降序对数组进行排序,就像它们在Arrays类中如何按升序排序? 问题答案: 你可以使用它对所有对象进行排序 不能直接用于降序对原始数组进行排序。如果尝试Arrays.sort()通过传递由定义的反向 来调用该方法,则会抛出错误 找不到适合sort(int [],comparator)的方法 可以与“对象数组”(例如整数数组)一起使用,但不能与基本数组(例如整数
我很惊讶以前没有人问过这个特定的问题,但我真的没有在SO上或。 假设我有一个包含整数的随机numpy数组,例如: 但我希望解决方案按降序排序。 现在,我知道我总能做到: 但这最后一句话是否高效?它不创建一个按升序排列的副本,然后反转这个副本以得到按反转顺序排列的结果吗?如果情况确实如此,是否有一个有效的替代方案?看起来不像接受参数来更改排序操作中比较的符号,以获得相反的顺序。
如果只有数组1包含数组2的所有值,我必须比较两个数组并返回true。对此合适的loadash函数是什么? 比较arr1和arr2应该返回true,比较arr1和arr3应该返回false
我一直试图这样做了一段时间,但我不能这样做。 如何将默认的升序更改为降序?另外,还有什么简单的方法可以对数组进行排序吗?