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

北京短视频制作公司郑州seo排名公司

北京短视频制作公司,郑州seo排名公司,wordpress头像本地化,著名的设计网站一、合并两个有序数组 本题给出了两个整数数组nums1和nums2,这两个数组均是非递减排列,要求我们将这两个数组合并成一个非递减排列的数组。题目中还要求我们把合并完的数组存储在nums1中,并且为了存储两个数组中全部的数据,nums1中…

一、合并两个有序数组

在这里插入图片描述
本题给出了两个整数数组nums1和nums2,这两个数组均是非递减排列,要求我们将这两个数组合并成一个非递减排列的数组。题目中还要求我们把合并完的数组存储在nums1中,并且为了存储两个数组中全部的数据,nums1中给出了空余的空间来存放nums2中的数据。本题的做法有很多,在此我们主要讨论三种解题思路。

1.先合并后排序

我们可以先将nums2中的元素全部拷贝到nums1中的空闲空间中去,然后再将nums1整体排序即可,代码如下:

class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {int i = m;int j = 0;while(i < m + n) {nums1[i++] = nums2[j++];}Arrays.sort(nums1);}
}

2.正序双指针

我们可以先将nums1中的数据拷贝到一个新的数组nums3中去,以便于我们对nums1本身的操作,因为给出的两个数组是非递减排序的,所以我们只要在遍历的过程中每次比较nums2和nums3中的元素,将较小的那个元素放入nums1中即可,具体代码如下:

class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {int[] nums3 = new int[m];//创建新数组来存放nums1中的数据for(int i = 0; i < m; i++) {nums3[i] = nums1[i];}int i = 0;int o1 = 0;int o2 = 0;while(o1 < m && o2 < n) {if(nums3[o1] < nums2[o2]) {//挑选出较小的数据放入nums1,然后对应的下标后移nums1[i++] = nums3[o1++];} else {nums1[i++] = nums2[o2++];}}while(o1 < m) {//将剩余的数据全部放入nums1nums1[i++] = nums3[o1++];}while(o2 < n) {nums1[i++] = nums2[o2++];}}
}

3.倒序双指针

此为上一个解法的优化解法,因为nums1中的数据存放在数组的前部分中,后面为了给nums2中的数据留空间全部都是空的,那我们就可以从后向前遍历,这样就不需要创建新的数组来存放nums1中的数据了。只不过是我们需要每次选取nums1和nums2中较大的那个数据,然后从后向前的存入nums1,代码如下:

class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {int index = m + n - 1;int i = m - 1;int j = n - 1;while(i >= 0 && j >= 0) {if(nums1[i] > nums2[j]) {nums1[index--] = nums1[i--];} else {nums1[index--] = nums2[j--];}}while(j >= 0) {nums1[index--] = nums2[j--];}while(i >= 0) {nums1[index--] = nums1[i--];}}
}
http://www.sczhlp.com/news/16034/

相关文章:

  • 用几个域名做网站好软文代写
  • 自己怎样做海外网站上海抖音seo
  • wordpress 数据接口南京seo建站
  • 企业为什么需要网站汕头网络营销公司
  • Linux用QQ邮箱发送邮件
  • apk安装失败 Failure [INSTALL_FAILED_VERIFICATION_FAILURE: Package Verification Result] 解决方法!
  • 8.18习题随记
  • 用html5做的音乐网站如何网上免费打广告
  • 企业名录搜索软件app深圳网站营销seo费用
  • dreamweaver网站模板网站内部seo优化包括
  • 企业网站变成app的方法郑州网站优化外包顾问
  • 读书网站怎么做百度销售岗位怎么样
  • php零基础做网站百度指数app下载
  • 网站切换语言怎么做竞价托管推广哪家好
  • 织梦如何做英文网站竞价托管公司排名
  • 网站需求方案百度官网首页入口
  • NOIP2025专题-搜索模拟(25直升搜索模拟)
  • 构建时序感知的智能RAG系统:让AI自动处理动态数据并实时更新知识库
  • b2c网站建设 广州百度收录的网站
  • 保险平台有哪些seo优化推广公司
  • 网站开发文档实训小结与讨论青岛网站设计微动力
  • dede如何生成网站源码谷歌排名优化入门教程
  • 贵州网站建设工作室百度如何购买关键词
  • 建设银行个人网上登录湖南企业seo优化报价
  • 稻壳网站建设营销型网站案例
  • html网站首页设计营销策划咨询
  • logo字体设计在线生成什么是seo优化
  • 产品界面设计网站搜索优化找哪家
  • 公司网站成本今天的国际新闻
  • 毕设做网站工作量够吗aso关键字优化