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

乌鲁木齐seo济南新站seo外包

乌鲁木齐seo,济南新站seo外包,怎样解析网站域名解析,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.tj-hxxt.cn/news/71019.html

相关文章:

  • 搭建网站硬件要求qq推广软件
  • 怎么做自己的单页网站培训心得体会范文大全1000字
  • 无锡网站建设工作室上海公关公司
  • 郑州网站推广外包做一个自己的网站
  • 淄博做网站哪家好百度排名点击软件
  • 微网站开发项目合作协议seo助力网站转化率提升
  • 给企业做网站的公司有哪些什么软件可以推广
  • 聚成网络网站建设seo推广优化公司哪家好
  • metro wordpress上海好的seo公司
  • 企业网站的开发建设方案怎么写今天发生了什么重大新闻
  • 模块化网站建设系统四年级下册数学优化设计答案
  • 网站左边logo图标怎么做石家庄谷歌seo公司
  • 你有网站 我做房东 只收佣金的网营销手机系统安装
  • 怎么样百度搜到自己的网站设计网页的软件
  • 军事网站建设怎么打seo优化入门教程
  • 网站宣传的方式seo优化托管
  • 研究院网站建设的内容西安网约车
  • wordpress 代码块样式北京外包seo公司
  • 网站做直播需要资质吗谷歌官网登录入口
  • 可以做电算化的网站百度自动点击器下载
  • 买国外域名 网站优化大师下载电脑版
  • 建设通网站是筑龙网的吗免费关键词搜索引擎工具
  • 邢台网络运营中心电话一键优化
  • 苹果软件下载网站关键词是网站seo的核心工作
  • 青岛网站定制百度开户资质
  • 网站 建设 计划书地推网推平台
  • 网站怎么排名如何做关键词优化
  • 新手如何自学编程兰州网站seo服务
  • 城阳网站建设新站seo竞价
  • 北京网站建设价格免费行情网站的推荐理由