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

互动网站如何做营销型网站推广方案

互动网站如何做,营销型网站推广方案,宁波网站建设h5,wordpress 菜单编辑📷 江池俊: 个人主页 🔥个人专栏: ✅数据结构探索 ✅LeetCode每日一道 🌅 有航道的人,再渺小也不会迷途。 文章目录 思路1:暴力求解思路2:原地合并 LeetCode 88. 合并两个有序数组…

在这里插入图片描述

📷 江池俊: 个人主页

🔥个人专栏: ✅数据结构探索 ✅LeetCode每日一道

🌅 有航道的人,再渺小也不会迷途。

文章目录

    • 思路1:暴力求解
    • 思路2:原地合并

LeetCode 88. 合并两个有序数组

在这里插入图片描述

在这里插入图片描述

思路1:暴力求解

  1. 首先创建一个临时数组,其大小为第一个数组的大小(即nums1Size),其作用主要是。
  2. 通过循环遍历两个数组,将两个数组元素比较后较小的元素依次加入到临时数组中,直到有一个数组遍历完即可(注意:这里遍历完是只有效元素被遍历完,因为nums1中有无效元素0)。
  3. 将未遍历完的数组剩下的元素依次加入到临时数组中。
  4. 将临时数组中的元素依次拷贝到nums1数组中。
  5. 释放临时数组的空间。
    在这里插入图片描述
    时间复杂度:O(m+n)
    空间复杂度:O(m+n)

值得注意的是: 这里需要考略到两种特殊情况需要单独处理

  • nums2 数组为空时,nums1 数组就是两个数组排序后的结果,函数不需要执行任何操作,直接 return 即可
  • nums1 数组中有效的元素个数为 0(即 m = 0 ) 时,此时 nums2 数组中的元素就是两个数组排序后的结果,此时只需要将 nums2 中的数组元素拷贝到 nums1 数组即可。
void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){if(nums2==NULL){return;}else if(m==0){for(int i=0;i<nums1Size;i++){nums1[i]=nums2[i];}}//创建一个数组来临时存放排序之后的元素,元素个数为m+n = nums1Sizeint *arr = (int*)malloc((nums1Size)*sizeof(int));int index = 0,dest = 0,src = 0;//dest和src分别标记访问当前数组元素的下标//index标记临时数组加入元素的下标位置//依次遍历两个数组,直到有一个数组遍历完为止while(dest < m && src < n){if(nums1[dest]<=nums2[src]){arr[index++] = nums1[dest++];}else{arr[index++] = nums2[src++];}}//将未遍历完的数组剩下的元素加入到临时数组中if(src>=n){while(dest<m){arr[index++] = nums1[dest++];}}else if(dest>=m){while(src<n){arr[index++] = nums2[src++];}}//将临时数组中的元素依次赋值给nums1数组中对应位置的元素for(int i = 0;i<nums1Size;i++){nums1[i] = arr[i];}free(arr);//将创建的数组空间释放
}

思路2:原地合并

  1. 从后往前遍历数组,将 nums1nums2 中的元素逐个比较,将较大的元素往 nums1 末尾进行搬移
  2. 第一步结束后,nums2 中可能会有数据没有搬移完,将 nums2 中剩余的元素逐个搬移到 nums1
  3. 如果 num1 中剩余元素没有搬移完,就不需要进行任何操作,因为 num1 中剩余的元素本来就在 num1

    时间复杂度:O(m+n)
    空间复杂度:O(1)
void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){// end1、end2:分别标记nums1 和 nums2最后一个有效元素位置// end标记nums1的末尾,因为nums1和nums2中的元素从后往前往nums1中存放// ,否则会存在数据覆盖int end1 = m-1;int end2 = n-1;int index = m+n-1;// 从后往前遍历,将num1或者nums2中较大的元素往num1中end位置搬移// 直到将num1或者num2中有效元素全部搬移完while(end1 >= 0 && end2 >= 0){if(nums1[end1] > nums2[end2]){nums1[index--] = nums1[end1--];}else{nums1[index--] = nums2[end2--];}}// num2中的元素可能没有搬移完,将剩余的元素继续往nums1中搬移while(end2 >= 0){nums1[index--] = nums2[end2--];}// num1中剩余元素没有搬移完 ---不用管了,因为num1中剩余的元素本来就在num1中
}

如果大家有什么疑问可以在评论区与我讨论,或者直接私信我,感谢大家的阅读哦 ~

http://www.tj-hxxt.cn/news/88039.html

相关文章:

  • 网站做选择题怎么快速选择电商广告网络推广
  • 安阳做网站seo描述是什么意思
  • 网购哪个平台是正品seo全网优化指南
  • 网站作品怎么做seo技术外包 乐云践新专家
  • 小奶猫w5c0comseo内容优化心得
  • 甘肃金顶建设公司网站百度推广关键词越多越好吗
  • 烟台网站建设哪家好呢下载安装百度
  • 自己网站怎么做百度推广百度seo查询
  • 最专业网站建设哪家好网页做推广
  • 外贸网站哪个好营销方案策划
  • b2b模式平台有哪些长春seo培训
  • 网站开发使用软件环境硬件环境开网站需要多少钱
  • 企业网站开发所需要的模块seo辅助优化工具
  • 网站推广优化seo公司品牌哪家好
  • dw怎么做自我展示网站互动营销是什么
  • 平台网站建设的公司永久免费建站系统
  • 宜昌百度网站建设买链接网站
  • 制作企业网站一般多少钱免费b站推广网站
  • 网站的制作公司互联网营销师培训机构
  • 用自己网站做淘宝客网址ip地址查询工具
  • 邯郸专业做wap网站网站建设优化推广
  • 外贸推广方式大地seo
  • 软件开发培训哪有好用的seo软件
  • 青海企业网站建设公司创建一个网站
  • 建设微信营销网站制作百度手机极速版
  • flash 做网站教程潍坊seo网络推广
  • 企业网站建设结论长沙网站推广seo
  • 富阳房产网电子商务seo实训总结
  • 建设工程施工许可证在哪个网站办广告网站大全
  • 重庆外贸网站建设公司排名磁力猫torrentkitty官网