LeetCode 88. Merge Sorted Array
来源:互联网 发布:电影网络版权价格 编辑:程序博客网 时间:2024/06/03 17:34
Merge Sorted Array的意思是将两个有序的数组nums1和nums2合并成为一个有序的数组nums1。
原题如下:
class Solution {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { }};
思路如下:对nums1的元素从尾部开始进行移动操作,计算nums1需要移动多少位,i和j分别表示nums1和nums2中没有归并的数据数目,则nums1[i-1]和nums2[j-1]分别表示nums1和nums2中剩下的最后一个没有归并的数据。假设nums1[i-1]>nums2[j-1],则说明nums[i-1]前面需要插入j个数据,因此将nums1[i-1]后移j位,nums1中没有归并的数目减1。同理可知:若nums1[i-1]<=nums2[j-1],表明nums2中的最后一个数在原有位置上应该要增加i个数,移动完之后,nums2中没有归并的数目减1。需要注意的一点是,当i=0的时候,nums[i-1]会报错,因此判断条件前需要加上i>0。
class Solution {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { for(int i = m,j = n;j > 0;){ if((i > 0) && (nums2[j-1] < nums1[i-1])){ nums1[i-1+j]=nums1[i-1]; i--; }else{ nums1[i+j-1]=nums2[j-1]; j--; } } }};
0 0
- LeetCode 88. Merge Sorted Array
- [LeetCode]88.Merge Sorted Array
- [Leetcode] 88. Merge Sorted Array
- LeetCode --- 88. Merge Sorted Array
- [leetcode] 88.Merge Sorted Array
- [leetcode] 88. Merge Sorted Array
- 88. Merge Sorted Array LeetCode
- 【LeetCode】88. Merge Sorted Array
- LeetCode *** 88. Merge Sorted Array
- LeetCode 88. Merge Sorted Array
- leetcode 88. Merge Sorted Array
- LeetCode 88. Merge Sorted Array
- leetcode-88. Merge Sorted Array
- leetcode 88. Merge Sorted Array
- Leetcode - 88. Merge Sorted Array
- LeetCode 88. Merge Sorted Array
- LeetCode-88.Merge Sorted Array
- Leetcode 88. Merge Sorted Array
- 算法题:求从n个数组任意选取一个元素的所有组合
- VMware + CentOS 网络设置为NAT模式
- 指针专题
- Socket
- 基础知识(三)-JSP
- LeetCode 88. Merge Sorted Array
- 必须了解的基础的 Linux 网络命令
- SSM + Shiro 整合 (7)- 认证和授权部分缓存的添加
- GPU Boost on NVIDIA’s Tesla K40 GPU
- 2.1.5 观察者模式
- swift学习笔记 - 位移枚举的按位或运算
- 使用 GPU 加速计算
- 在js中遍历JSON数据
- 获取窗口、控件等指针。(未完待续)