java代码合并两个升序数组,新数组也的是升序的新数组
时间: 2023-08-10 22:11:07 浏览: 79
java 数组的合并
3星 · 编辑精心推荐
可以使用双指针的方法,分别指向两个数组的开头,比较两个指针所指的值,将较小的值放入新数组中,并将该指针向后移动。重复这个过程直到其中一个数组被遍历完,然后将另一个数组中剩余的元素加入新数组即可。以下是Java代码实现:
```java
public static int[] merge(int[] nums1, int[] nums2) {
int[] merged = new int[nums1.length + nums2.length];
int i = 0, j = 0, k = 0;
while (i < nums1.length && j < nums2.length) {
if (nums1[i] < nums2[j]) {
merged[k++] = nums1[i++];
} else {
merged[k++] = nums2[j++];
}
}
while (i < nums1.length) {
merged[k++] = nums1[i++];
}
while (j < nums2.length) {
merged[k++] = nums2[j++];
}
return merged;
}
```
其中,i和j分别表示两个数组的指针,k表示新数组的指针。时间复杂度为O(m+n),其中m和n分别为两个数组的长度。
阅读全文