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

苏州建设交通高等职业技术学校网站免费舆情网站下载大全最新版

苏州建设交通高等职业技术学校网站,免费舆情网站下载大全最新版,java做网站没有php好吗,想做一款app要怎么入手目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们两个升序数组,让我们合并它们,要求合并之后仍然是升序,并且这个合并操作是在数组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.skylitedrivein.com/news/432.html

相关文章:

  • 西安月子中心网站制作百度竞价推广方法
  • 厦门网站建设服务seo顾问合同
  • 英文网站公司营销到底是干嘛的
  • 鹏翔科技 网站建设国内永久免费云服务器
  • 做生物卷子的网站大数据推广公司
  • 西安网站设计建设公司中国十大互联网公司排名
  • wordpress 企业建站焦作网络推广哪家好
  • 网站建立定位企划网络seo是什么意思
  • 网站设计模板百度云成都网站优化seo
  • 中国佛山手机网站建设网站内部链接优化方法
  • 上海装潢设计seo搜索引擎优化怎么做
  • 深圳网站官网建设方案seo优化
  • 戏曲网站建设的可行性分析中国教育培训网
  • 广西今天疫情最新政策广州seo网站推广公司
  • 网站开发实战教程百度关键词seo公司
  • 任务网站的接口怎么做网站推广策划书范文
  • 销售网站建设怎么做网站建设费用都选网络
  • 网站开发 青岛百度搜索热度查询
  • 灯塔网站制作公司怎么制作网站二维码
  • 东莞市官网网站建设怎么样手机自己怎么建电影网站
  • 做网站被坑能找司法吗深圳网络推广公司排名
  • 日照网站建建设新闻 最新消息
  • 网站标题的写法网址大全下载
  • 在线教育网站开发实例温州seo招聘
  • 朝阳区网站开发公司贵州seo技术培训
  • 免费试用网站网站关键词优化的步骤和过程
  • 网站重定向怎么做推广seo公司
  • phpcms怎么做网站郑州高端网站建设哪家好
  • 诸城做网站公司友情链接的网站
  • 网站cms系统下载西安网站seo价格