leetcode之合并已经排序好的数组
2016-10-18 20:36
260 查看
88. Merge Sorted Array
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.
Note:
You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. The number of elements initialized in nums1 and nums2 are m and n respectively.
题目的意思就是合并两个排序好的数组,因为题目假定有足够的空间,所以我们就直接使用,而不需要再去申请更多的空间。我觉得这段代码最厉害的地方就是以-1为循环的跳出,然后用+1来补足。
代码:
void merge(int* nums1, int m, int* nums2, int n) {
int i=m-1;
int j=n-1;
while(i>=0&&j>=0){
if(nums1[i]>nums2[j]){
nums1[i+j+1]=nums1[i];
i--;
}else{
nums1[i+j+1]=nums2[j];
j--;
}
}
while(j>=0){
nums1[i+j+1]=nums2[j];
j--;
}
}
相关文章推荐
- 合并两个已经排序的数组
- 已知m和n是已经排序好的数组,从小到大,现在要合并这两个数组内的数到一个数组,仍然要求是从小到大排序
- 已知m和n是已经排序好的数组,从小到大,现在要合并这两个数组内的数到一个数组,仍然要求是从小到大排序
- LeetCode-88:Merge Sorted Array (合并两排序数组)
- Leetcode 21:Merge Two Sorted Lists(golang实现合并两条已经排序的链表)
- LeetCode Merge Sorted Array 合并已排序的数组
- leetCode 88.Merge Sorted Array (合并排序数组) 解题思路和方法
- 【LeetCode-面试算法经典-Java实现】【088-Merge Sorted Array(合并排序数组)】
- 合并两个已经排序的数组为另一个数组
- LeetCode --两个排序数组合并问题
- Leetcode 88. Merge Sorted Array 合并已排序数组
- leetcode合并两个已经排序的链表
- 合并已经排序的两个数组,合并后也需要排序
- LeetCode 88 Merge Sorted Array(合并排序数组)(*)
- leetCode 88.Merge Sorted Array (合并排序数组) 解题思路和方法
- 已知m和n是已经排序好的数组,从小到大,现在要合并这两个数组内的数到一个数组,仍然要求是从小到大排序
- 每天一个小算法(1)----合并两个已经排序的数组
- Leetcode练习<十七> 合并数组并排序
- 合并两个已经排序的数组
- 关于动态存储分配函数的调用,在已经过排序的数组中查找及删除内容的操作,余数的分析,删除字符数组中的空格,对链表的逆置,在源字符串中查找子字符串的个数,函数指针以及函数的调用,循环赋值带来的问题以及插入