[LeetCode] Merge Sorted Array
来源:互联网 发布:视频格式转换软件下载 编辑:程序博客网 时间:2024/05/23 12:21
题目:
Given two sorted integer arrays A and B, merge B into A as one sorted array.
Note:
You may assume that A has enough space (size that is greater or equal to m + n) to hold additional elements from B. The number of elements initialized in A and B are m and nrespectively.
class Solution {public: void merge(int A[], int m, int B[], int n) { int abIndex = m + n - 1; int aIndex = m - 1; int bIndex = n - 1; while(aIndex >= 0 && bIndex >= 0) { if(A[aIndex] > B[bIndex]) { A[abIndex--] = A[aIndex--]; } else { A[abIndex--] = B[bIndex--]; } } while(bIndex >= 0) { A[abIndex--] = B[bIndex--]; } }};
思路:
如果企图从头到尾把B中的元素插入到A中,插入位置后面的所有元素整体后移的办法,那效率确实有些低。
本文所示代码的算法是从后往前插入,开始插入的位置为m+n-1,由此保证插入过程不会覆盖掉A原有的元素值。
0 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
- QT TableView
- MATLAB Preparing installation files ... Installing ... Exception in thread "main" com.google.inject.
- 嵌入式系统开发实用教程
- Storyboard里面的几种Segue区别及视图的切换
- 《C和指针》第九章 字符串、字符和字节
- [LeetCode] Merge Sorted Array
- linux僵死进程与并发服务器编程
- 斐波那契数列的递归实现
- 我的第二个HelloWorld
- Linux、标准C、C++、QT中对文件I/的操作
- 目前流行的Bug缺陷管理工具
- Light OJ 1234 Harmonic Number 调和级数部分和
- 添加组件
- PROTECTION_MODE和PROTECTION_LEVEL的区别