【大厂高频算法题】合并两个有序数组
题目:给你两个按递增顺序排列的整数数组 a 和 b,另有两个整数 m 和 n,分别表示 a 和 b 中的元素数目。
难度:简单
代码:
class Solution {
public void merge(int[] a, int m, int[] b, int n) {
int[] c = new int[m + n];
int i = 0, j = 0, k = 0;
// a,b数组都有元素时
while (i < m && j < n) {
if (a[i] < b[j]) {
c[k++] = a[i++];
} else {
c[k++] = b[j++];
}
}
// 若a有剩余
while (i < m) {
c[k++] = a[i++];
}
// 若b有剩余
while (j < n) {
c[k++] = b[j++];
}
}
}