【leetcode】88. Merge Sorted Array
来源:互联网 发布:jc js jk 编辑:程序博客网 时间:2024/05/29 18:36
一、题目描述
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.
题目解读:给出两个已排好序的数组nums1和nums2,还有2个整数m,n分别代表数组nums1,nums2中有效的元素个数。
现需要将nums2合并到1中。
思路:因为m的存在,第一步是将nums1中超过m个个数的元素去掉。然后遍历nums2,并同时在nums1中寻找位置。
c++代码(4ms,22.76%)
class Solution {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int j=0; if(m!=nums1.size()){ //将nums1清空 nums1.erase(nums1.begin()+m,nums1.end()); } for(int i=0; i<n;i++){ //循环nums2 while(j<nums1.size() && nums1[j]<=nums2[i]){ //在nums1中找要插入的位置 j++; }//while if(j>nums1.size()) j++; nums1.insert(nums1.begin()+j,nums2[i]); }//for }};
其他代码(4ms,22.76%)
class Solution {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int cur1=m-1; int cur2=n-1; int cur3=m+n-1; while(cur1>=0 && cur2>=0){ if(nums1[cur1]>nums2[cur2]){ nums1[cur3--] = nums1[cur1--]; }else{ nums1[cur3--] = nums2[cur2--]; } } while(cur2>=0) nums1[cur3--]=nums2[cur2--]; }};
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
- 代码审计之jsp+servlet模式从客户端接收参数的函数大全
- Java基础原理回顾_day_02
- consul的安装和配置
- android中的线程中断小结
- UITableVewCell的移动删除
- 【leetcode】88. Merge Sorted Array
- SQLServer常用数据类型(转)
- android Zxing 扫描区域的大小设置和自定义扫描view
- 在Mac上面搭建Android开发环境
- MVC C# Html.TextBox等Html控件设置样式
- jdbc中单引号与双引号的作用
- 基于朴素贝叶斯的文本分类器
- javascript:void(0)是什么意思?JS的几种跳转
- java调用dll库