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

承德微网站开发百度天眼查

承德微网站开发,百度天眼查,网站导航类型,外贸企业的网站建设目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们两个升序数组,让我们合并它们,要求合并之后仍然是升序,并且这个合并操作是在数组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.hrbkazy.com/news/7528.html

相关文章:

  • 成都网站建设优点全球十大搜索引擎排名
  • 国内重大新闻2023seo技术培训海南
  • 深圳找网站建设公司哪家好百度贴吧热线客服24小时
  • 用vs2015做网站教程seo搜论坛
  • 网站在百度无法验证码怎么办软文编辑
  • 网站维护升级访问中抖音指数
  • 网站诚信认证电话销售会计培训班一般收费多少
  • 网站建设 网站设计怎样建网站卖东西
  • 东营城乡规划网西安网络推广优化培训
  • 免费的html大作业网站seo代理
  • 网站开发强制开启浏览器极速模式seo技术交流
  • php网站系统宁波关键词网站排名
  • 太原做网站的鸣蝉公司国内的搜索引擎有哪些
  • 扁平网站配色论坛如何做seo
  • 万网虚拟主机免费空间seo案例分析
  • 哈尔滨网站制作方案seo排名第一的企业
  • 无锡网站推广排名武汉网络推广优化
  • 贵阳网站app制作精准防恶意点击软件
  • 建立电子商务网站站长之家网站模板
  • 中韩双语网站制作价格国外免费网站域名服务器查询
  • 兰州seo排名优化服务长沙seo招聘
  • 做的网站怎么把技术支持去掉百度关键词优化服务
  • 网站开发项目心得网站的seo
  • 网站备案初审百度app下载官方免费最新版
  • 做web网站原型设计营销培训课程ppt
  • 网站开发技术支持软文广告营销
  • 那家网站做的效果好免费二级域名查询网站
  • asp网上书店网站开发网站搜索优化排名
  • 南京公司做网站西安百度爱采购推广
  • 智能网站建设哪家效果好百度经验官网