共计 554 个字符,预计需要花费 2 分钟才能阅读完成。
可以使用双指针的方法来合并两个有序数组。具体步骤如下:
- 创建一个新的数组,用于存放合并后的结果。
- 初始化三个指针,分别指向两个数组的开头和新数组的开头。
- 比较两个数组当前指针指向的元素,将较小的元素放入新数组,并将该数组的指针向后移动一位。
- 重复步骤 3,直到其中一个数组的所有元素都被放入新数组。
- 将另一个数组中剩余的元素依次放入新数组。
- 返回合并后的新数组。
下面是一个示例代码:
public static int[] mergeArrays(int[] arr1, int[] arr2) {int[] merged = new int[arr1.length + arr2.length];
int i = 0, j = 0, k = 0;
while (i < arr1.length && j < arr2.length) {if (arr1[i] < arr2[j]) {merged[k++] = arr1[i++];
} else {merged[k++] = arr2[j++];
}
}
while (i < arr1.length) {merged[k++] = arr1[i++];
}
while (j < arr2.length) {merged[k++] = arr2[j++];
}
return merged;
}
你可以调用这个方法并传入两个有序数组,它会返回一个合并后的有序数组。
丸趣 TV 网 – 提供最优质的资源集合!
正文完