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

如何开发一个视频网站揭阳网站制作平台

如何开发一个视频网站,揭阳网站制作平台,网站建设费税率,设计网页英文原题链接:https://leetcode.cn/problems/merge-sorted-array/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 看到这道题,我们注意到nums1[ ]和nums2[ ]两个数组都是非递减的。所以我们很容易想到额外开一个数组tmp[ ]&#x…

原题链接:https://leetcode.cn/problems/merge-sorted-array/

目录

1. 题目描述

2. 思路分析

3. 代码实现


1. 题目描述

2. 思路分析

看到这道题,我们注意到nums1[ ]和nums2[ ]两个数组都是非递减的。所以我们很容易想到额外开一个数组tmp[ ],依次比较两个数组的元素,每次取小的尾插到新数组tmp[ ]即可。但是这需要额外再开空间。

 

 

 

也有一种方法是将这两个数组的元素都拷贝到一起,然后使用qsort排序  复杂度为O(NlogN)。

显然这两种方法的复杂度都不够优秀,是否有更好的方法呢?

我们可以倒着比较,取大的依次往前插入。等到有一个数组被遍历完,就结束。

因为两个数组都是非递减的,nums1[ ]数组的长度比nums2[ ]大,所以如果nums1[ ]先被遍历完,就将nums2[ ]没有被遍历的元素直接拷贝到nums1[ ]前面。

如果nums2[ ]先被遍历完,则不用额外操作(因为nums1[ ]整体本身就是非递减的,所以那些没有被遍历到的元素也是按非递减排列的)。

流程演示:

 ​​​​​​​

 

 

3. 代码实现

void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {int end1 = m - 1, end2 = n - 1, end = m + n - 1;while (end1 >= 0 && end2 >= 0){if (nums1[end1] >= nums2[end2])nums1[end--] = nums1[end1--];elsenums1[end--] = nums2[end2--];}while (end2 >= 0)nums1[end--] = nums2[end2--];
}

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

相关文章:

  • 商业网站建设目标七牛云收费标准
  • 常见的网站推广方法做熊猫tv网站的目的
  • 网站内容如何管理p2p理财网站建设
  • 企业诚信建设网站销售流程八个步骤
  • 名字设计网站网站建设设计公司 知乎
  • 集团网站建设的要求网络推广策划案格式模板和范文
  • Godaddy优惠码网站怎么做的专业模板网站制作多少钱
  • 怎么做网站能快速赚钱刷关键词排名
  • 公司内网站建设做设计开店的网站
  • 枣庄做网站公司wordpress宽屏
  • 做网站商城前景怎么样建筑模板公司
  • 大连网站开发建站企业手机网站建设特色
  • 影响网站访问速度建网站用什么服务器
  • 慈溪想做网站的公司网络营销方法案例
  • 深圳高端网站建设公司信息网络设计
  • 网站的二级导航怎么做linux做网站网络课堂
  • 可以做免费推广的网站吗石家庄高端外贸建站
  • 品牌企业网站建设公司价格中国十大物联网公司
  • 宝塔面板建站教程芜湖网站设计
  • wordpress 旅游网站discuz视频网站模板
  • 银川网站网站建设2022年近期舆情热点话题
  • 源码出售网站怎么做wordpress获取附件
  • 临海企业网站设计网站域名过期了怎么办
  • 如何跟客户沟通网站建设网站 app设计开发建设
  • ai做图标教程网站4399游戏电脑版主页
  • 手机购物网站模版一个域名可以绑定几个网站吗
  • 工商局注册公司网站小程序项目描述怎么写
  • 如何在社交网站做销售网站设置多少个关键词
  • 网站建设技能考吉林市网站制作
  • 微擎pc网站开发销售平台网站建设