当前位置: 首页 > news >正文

孟村县网站建设价格网站seo优化价格

孟村县网站建设价格,网站seo优化价格,外贸公司名称,郑网站建设目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们两个升序数组,让我们合并它们,要求合并之后仍然是升序,并且这个合并操作是在数组1原地修改…

目录

题目:

示例:

分析:

代码:


题目:

示例:

分析:

题目给我们两个升序数组,让我们合并它们,要求合并之后仍然是升序,并且这个合并操作是在数组1原地修改的。数组1的有效数据长度为 m ,而数组1的长度为 m + n,n 是数组2的有效数据长度以及数组的长度。

比较直观容易想到的做法就是先把数组1的尾部删去 n 个无效数据,再把数组2都添加到数组1的尾部。接着直接对数组1排序即可。这样做是可以的,效果也还不错。

 不过这么做就没有利用到原数组是升序的这样一个特性。

另一个容易想到的是双指针,我们用双指针遍历分别两个数组,每次都比较两个指针所指元素的大小,将较小的元素添加进新数据,接着往后移动该指针。直到两个指针的大小分别为 m 和 n 即为遍历结束。

最后将新数组赋值给数组1即可。

那这么做还是有点不痛快,还是直接在数组1原地修改比较舒服。那有没有办法呢?

答案是有的。

首先我们上述办法肯定是不行的,这么做会把数组1的有效数据覆盖掉,那应该怎么做呢。

我们覆盖无效数据不就好啦,不能从头遍历我们就从尾部遍历,一样是双指针,只不过两个指针初始化为 m - 1 和 n - 1 ,每次比较两个指针所指元素的大小,我们把较大的元素放到数组1的末尾,直到两个指针都小于0,那么我们就是原地合并两个数组完毕了。

代码:

class Solution {
public:void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {int index1=m-1,index2=n-1,index3=n+m-1;while(index1>=0&&index2>=0){if(nums1[index1]>nums2[index2]) nums1[index3--]=nums1[index1--];else nums1[index3--]=nums2[index2--];}while(index1>=0) nums1[index3--]=nums1[index1--];while(index2>=0) nums1[index3--]=nums2[index2--];}
};

http://www.yayakq.cn/news/140112/

相关文章:

  • 徐州建设工程审图中心网站域名哪个网站续费
  • 当今做哪个网站致富上海网站设计哪家好
  • 福建建设中心网站wordpress 绑定手机版
  • 做网站多大wordpress 苏醒主题
  • 官方网站入口留言板网页设计代码
  • 建设银行福建分行招聘网站求一个好看的网站
  • 网站开发找哪个湖南seo优化价格
  • 金华永康义乌网站建设网站建设技术服务税种分类
  • 做游戏评论注册国外网站网站开发建立
  • 网站版权信息模板国内扁平化网站欣赏
  • 手机在线做ppt模板下载网站禅城网站建设价格
  • 网站开发项目源码上海设计招聘网站
  • 龙之向导外贸网站图文设计公司起名
  • 网站建设学习内容做网站小语种翻译多少钱
  • 网站报404错误怎么解决办法网站 首页 关键词
  • 做擦边球网站赚钱么电影网站制作教程
  • 周口网站建设 网站制作 网络推广外贸seo是什么意思
  • 做企业网站费用用dw做网页的步骤
  • 律师个人网站源码广东的seo产品推广服务公司
  • 易安卓做网站网站tag设计
  • 网站建设的初期目标公司网络营销策划书
  • 在网站里文本链接怎么做北京设计机构
  • 贵阳做网站开发科技有限公司博客关键词优化
  • 毕设做网站什么能过大一网站开发体会
  • 网站开发设计注册迁移wordpress到阿里云
  • 白名单 网站网络营销心得体会1000字
  • 郑州本地网站百度推广优化工具
  • 重庆奉节网站建设学wordpress要多久
  • 个人网站怎么制作教程高端自适应网站建设
  • 南宁制作网站的公司苏州网站开发培训班