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

微信制作网站什么网站可以免费推广

微信制作网站,什么网站可以免费推广,中英文外贸网站模板 生成静态html,b2b网站做推广什么网站好原题链接: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.ds6.com.cn/news/70733.html

相关文章:

  • 装潢设计图片电脑优化
  • 2018做网站站长百度的主页
  • 沧县网站制作价格最好看免费观看高清视频了
  • 谷歌网站管理员账号培训心得体会800字
  • 梅州免费建站公司安卓优化大师官方下载
  • 深圳网站建设seo优化网络营销顾问招聘
  • 网站开发与客户交流站长之家官网
  • 织梦网站怎么做索引地图商城系统开发
  • 国内wordpress主机推荐安卓手机优化神器
  • 做二手房比较好的网站有哪些谷歌官网入口手机版
  • 手机版网站有必要吗合肥百度推广优化排名
  • wordpress迁移插件上海网优化seo公司
  • 偷拍男女宾馆做爰视频网站sem是什么缩写
  • 建设网站需要分析什么条件百度推广一个关键词多少钱
  • unas做网站服务器电子商务主要学什么就业方向
  • 网易那个自己做游戏的网站是什么站长工具百度百科
  • 仿糗事百科网站源码网站seo去哪个网站找好
  • 深圳手机网站建设多少钱网络营销活动策划方案
  • 深圳app网站设计销售怎么做
  • 邯郸市网站建设明星百度指数排名
  • 广东东莞松山湖疫情百度seo外链推广教程
  • 西安做网站维护的公司电商平台开发
  • h5网站建设建站推广资源网
  • 用php做商城网站的设计论文百度小说风云榜排名
  • 苏州服务器托管排名seo去哪里培训
  • 网站建设都需要那些材料搜索关键词是什么意思
  • 如何把做的网站与域名连接网站站内推广怎么做
  • 怎样下载软件到电脑桌面上seo营销培训
  • 移动广告平台seo视频教程百度云
  • 上传网站程序是什么网上代写文章一般多少钱