题解 | #合并两个有序的数组# 暴力
合并两个有序的数组
https://www.nowcoder.com/practice/89865d4375634fc484f3a24b7fe65665
import java.util.*; public class Solution { public void merge(int A[], int m, int B[], int n) { int result[] = new int[m + n]; int idx = 0; int idx_a = 0; int idx_b = 0; while (idx_a < m || idx_b < n) { if (idx_a == m) { while (idx_b != n) { result[idx++] = B[idx_b++]; } break; } else if (idx_b == n) { while (idx_a != m) { result[idx++] = A[idx_a++]; } break; } else if (A[idx_a] <= B[idx_b]) { result[idx++] = A[idx_a++]; } else { result[idx++] = B[idx_b++]; } } for(int i=0;i<m+n;i++){ A[i] = result[i]; } return; } }
牺牲空间,换取更简单的实现方式,不在A上做操作,直接新创建一个数组,最后再把生成的值赋值给A