题目传送:https://leetcode.cn/problems/merge-sorted-array/
运行效率
代码如下:
public static void merge(int[] nums1, int m, int[] nums2, int n) {
for (int i = 0; i < nums2.length; i++) {
insert(nums1, m, nums2[i]);
m++; //每当往nums1里面插入一个元素,那么m+1
}
}
/**
* 将val插入nums1数组中
* @param nums1
* @param val
*/
public static void insert(int[] nums1, int m, int val) {
//1、先找到val应该存放的位置
int i = 0;
while (i < m && nums1[i] < val) {
i++;
}
//2、把后面的元素接着往后面移动一格
for (int j = m-1; j >= i; j--) {
nums1[j + 1] = nums1[j];
}
//3、然后把val放进去,
nums1[i] = val;
}