合并排序数组——LinkCode
2015-12-14 15:31
344 查看
合并两个排序的整数数组A和B变成一个新的数组。
您在真实的面试中是否遇到过这个题?
Yes
样例
给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6]
挑战
你能否优化你的算法,如果其中一个数组很大而另一个数组很小?
您在真实的面试中是否遇到过这个题?
Yes
样例
给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6]
挑战
你能否优化你的算法,如果其中一个数组很大而另一个数组很小?
class Solution { /** * @param A and B: sorted integer array A and B. * @return: A new sorted integer array */ public int[] mergeSortedArray(int[] A, int[] B) { // Write your code here if(A.length == 0) return B; if(B.length == 0) return A; int len = A.length + B.length; int[] a = new int[len]; int i,j = 0,k = 0; for(i=0;i<len;i++) { if(A[j] <= B[k]) a[i] = A[j++]; else if (A[j] > B[k]) { a[i] = B[k++]; } if(j == A.length || k == B.length) break; } i++; if(j == A.length) while(k != B.length) a[i++] = B[k++]; if(k == B.length) while(j != A.length) a[i++] = A[j++]; return a; } }
相关文章推荐
- leetcode -- Letter Combinations of a Phone Number -- 重点
- iOS开发之Core Data数据存储
- JBoss Access log的配置
- 浅谈Entity Framework 增删改查和事务操作
- canvas详解----绘制线条
- Struts2基础复习系列(5)
- <学习笔记> jQuery Mobile 入门
- linux下磁盘分区,格式化和挂载
- OC-041.NSArray的数组排序
- JAVA学习笔记3--数组
- 配置双动态监听,多端口监听和静态监听
- IDEA下Log4j使用教程
- Maple Syrup
- hdoj1005
- json解析的方法
- 聚类相关词汇扫盲
- 无限级菜单
- InputStream复用,mark和reset
- nRF52系列——Get started
- SSH 连接树莓派、远程上传文件