Merge Sorted Array -- LeetCode
来源:互联网 发布:2016淘宝代销选货技巧 编辑:程序博客网 时间:2024/05/16 17:53
这是一道数组操作的题目,思路比较明确,就是维护三个index,分别对应数组A,数组B,和结果数组。然后A和B同时从后往前扫,每次迭代中A和B指向的元素大的便加入结果数组中,然后index-1,另一个不动。代码如下:
public void merge(int A[], int m, int B[], int n) { if(A==null || B==null) return; int idx1 = m-1; int idx2 = n-1; int len = m+n-1; while(idx1>=0 && idx2>=0) { if(A[idx1]>B[idx2]) { A[len--] = A[idx1--]; } else { A[len--] = B[idx2--]; } } while(idx2>=0) { A[len--] = B[idx2--]; } }这里从后往前扫是因为这个题目中结果仍然放在A中,如果从前扫会有覆盖掉未检查的元素的可能性。算法的时间复杂度是O(m+n),m和n分别是两个数组的长度,空间复杂度是O(1)。这个题类似的有Merge Two Sorted Lists,只是后者是对于LinkedList操作,面试中可能会一起问到。
52 0
- LeetCode: Merge Sorted Array
- [Leetcode] Merge Sorted Array
- [LeetCode] Merge Sorted Array
- [LeetCode]Merge Sorted Array
- [leetcode]Merge Sorted Array
- [Leetcode]Merge Sorted Array
- LeetCode-Merge Sorted Array
- [leetcode] Merge Sorted Array
- LeetCode - Merge Sorted Array
- [LeetCode] Merge Sorted Array
- LeetCode | Merge Sorted Array
- 【leetcode】Merge Sorted Array
- Leetcode: Merge Sorted Array
- Leetcode: Merge Sorted Array
- LeetCode - Merge Sorted Array
- [LeetCode]Merge Sorted Array
- Merge Sorted Array -- LeetCode
- Merge Sorted Array - LeetCode
- 黑马程序员_加强11_基本数据类型的自动拆箱与装箱+享元模式
- 人大云计算检测系统——1000-1002题
- Linux负载均衡软件LVS之二
- Java解析XML汇总(DOM/SAX/JDOM/DOM4j/XPath)
- 杨辉三角(两个一维数组)
- Merge Sorted Array -- LeetCode
- 392高校毕业设计选题
- Spring事务配置的五种方式
- OSCache缓存方案
- 登录判断 之 asp.net 使用内置票据来判断某用户是否有权限登录此网页
- Merge Two Sorted Lists -- LeetCode
- JAVA通过JDBC连接MSSQL的配置方法
- #老师为什么我总是记不住系列#MSP430寄存器中文注释
- poj 1006 Biorhythms 中国剩余定理