Merge Sorted Array
来源:互联网 发布:北京时时彩计划数据 编辑:程序博客网 时间:2024/05/17 02:27
- 题目
Given two sorted integer arrays A and B, merge B into A as one sorted array.
合并两个排序的整数数组A和B变成一个新的数组。 - 算法
如果单纯从前往后合并,那么效率会非常低,因为a数组后面的数字需要不停的移动。考虑从后往前比较,这样就不会产生需要数据后移的问题了。时间复杂度O(n+m)
public void mergeSortedArray(int[] a, int m, int[] b, int n) { // write your code here 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) { //当b中还有元素时,应为元素最后在a中,不用检测a a[len--] = b[idx2--]; } }
python
def mergeSortedArray(self, A, m, B, n): # write your code here for i in range(n): A[i + m] = B[i] A.sort()
0 0
- [Array]Merge Sorted Array
- LeetCode: Merge Sorted Array
- Merge Sorted Array
- [Leetcode] Merge Sorted Array
- Merge Sorted Array
- [LeetCode] Merge Sorted Array
- Merge Sorted Array
- Merge Sorted Array
- [88]Merge Sorted Array
- Merge Sorted Array
- Merge Sorted Array
- [LeetCode]Merge Sorted Array
- Merge Sorted Array
- [leetcode]Merge Sorted Array
- Merge Sorted Array
- [Leetcode]Merge Sorted Array
- Merge Sorted Array
- Merge Sorted Array
- Lintcode 翻转字符串
- 【9-1-1】静态链表和动态链表
- char *a 与char a[] 的区别
- C++ builder提供从MFC到自身支持的过程
- 浅谈决策树c4.5
- Merge Sorted Array
- 6代cpu安装win7系统提示无驱动的解决
- Locked-Free Data Structures笔记
- JavaScript 跨域问题简述
- Android-屏幕适配的了解(基础)
- Apache Kafka
- 仿今日头条
- 三国演义中谁是正统
- css预处理器