88. Merge Sorted Array
2016-10-22 20:05
127 查看
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.
第一种方法:双指针法
时间复杂度O(m+n)
空间复杂度O(m+n)
第二种方法:
不需要额外的空间,时间复杂度O((m+n)log(m+n))
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.
第一种方法:双指针法
时间复杂度O(m+n)
空间复杂度O(m+n)
class Solution { public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int i=0,j=0; vector<int>temp; while(i<m&&j<n) { if(nums1[i]<nums2[j]) temp.push_back(nums1[i++]); else temp.push_back(nums2[j++]); } while(i<m) temp.push_back(nums1[i++]); while(j<n) temp.push_back(nums2[j++]); //nums1.clear(); nums1=temp; } };
第二种方法:
不需要额外的空间,时间复杂度O((m+n)log(m+n))
class Solution { public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { for(int i=m;i<m+n;i++) { nums1[i]=nums2[i-m]; } sort(nums1.begin(),nums1.end()); } };
相关文章推荐
- 【LeetCode】88. Merge Sorted Array
- Leetcode - 88. Merge Sorted Array
- [leetcode] 【排序】 88. Merge Sorted Array
- 88. Merge Sorted Array
- 88. Merge Sorted Array
- [LeetCode] 88. Merge Sorted Array
- [勇者闯LeetCode] 88. Merge Sorted Array
- LeetCode 88. Merge Sorted Array
- 88. Merge Sorted Array
- 【LeetCode】88. Merge Sorted Array
- [leetcode]#88. Merge Sorted Array
- 88. Merge Sorted Array
- Leet Code OJ 88. Merge Sorted Array [Difficulty: Easy]
- Leetcode Everyday: 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 (java)
- 88. Merge Sorted Array