来源
lintcode-6.合并排序数组 II
描述
合并两个排序的整数数组A和B变成一个新的数组。
样例
1
| 给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6]
|
解题思路
用两个指针指向两个数组,每次取较小的放入结果数组.
在某个数组全部加入结果后,将另一个数组的值全部加入结果数组.
实现代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| public int[] mergeSortedArray(int[] A, int[] B) { int[] result = new int[A.length + B.length]; int i = 0, j = 0, h = 0; while (i < A.length && j < B.length) { if (A[i] <= B[j]) { result[h] = A[i]; i++; } else { result[h] = B[j]; j++; } h++; } for (; i < A.length; i++,h++) { result[h] = A[i]; } for (; j < B.length; j++,h++) { result[h] = B[j]; } return result; }
|
完。
ChangeLog
2019-01-05 完成
以上皆为个人所思所得,如有错误欢迎评论区指正。
欢迎转载,烦请署名并保留原文链接。
联系邮箱:huyanshi2580@gmail.com
更多学习笔记见个人博客——>呼延十