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

算法每日一题(合并两个有序的数组)

在本篇文章里,我将分享一道很经典的算法题———合并两个有序的数组,并且分享解题思路,希望可以帮助到你😀😀😀

合并两个有序的数组_牛客题霸_牛客网

题目描述:

给出一个有序的整数数组 A 和有序的整数数组 B ,请将数组 B 合并到数组 A 中,变成一个有序的升序数组

数据范围:

0≤n,m≤100,|A_i| <=100∣Ai​∣<=100,|B_i| <= 100∣Bi​∣<=100

注意:

1.保证 A 数组有足够的空间存放 B 数组的元素, A 和 B 中初始的元素数目分别为 m 和 n,A的数组空间大小为 m+n

2.不要返回合并的数组,将数组 B 的数据合并到 A 里面就好了,且后台会自动将合并后的数组 A 的内容打印出来,所以也不需要自己打印

3. A 数组在[0,m-1]的范围也是有序的

示例1:

输入:[4,5,6],[1,2,3】

返回值:[1,2,3,4,5,6]

说明:A数组为[4,5,6],B数组为[1,2,3],后台程序会预先将A扩容为[4,5,6,0,0,0],B还是为[1,2,3],m=3,n=3,传入到函数merge里面,然后请同学完成merge函数,将B的数据合并A里面,最后后台程序输出A数组

示例2

输入:[1,2,3],[2,5,6]

返回值:[1,2,2,3,5,6]

以下代码均经过牛客测试,均正确,请放心测试😊😊😊

解题思路:

设一个新数组C,两数组依次进行比较,小的尾插到新数组

代码:

void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n)
{
    int i=m-1,j=n-1;
    int dst=m+n-1;
    while(i>=0&&j>=0)
    {
        if(nums1[i]>nums2[j])
        {
            nums1[dst--]=nums1[i--];
        }
        else
        nums1[dst--]=nums2[j--];
    }
    while(i>0)
    {
        nums1[dst--]=nums1[i--];
    }
    while(j>=0)
    {
        nums1[dst--]=nums2[j--];
    }
}

结果展示:

最后

十分感谢你可以耐着性子把它读完和我可以坚持写到这里,送几句话,对你,也对我:

01.“以前我觉得成绩不重要。清华、北大、复旦、交大,只能代表学生时代的成就。后来我发现,努力是种习惯,它会贯穿终生。”

02.等你优秀了,你想要的都会来找你。

03.你可以不漂亮,也可以不爱打扮,甚至可以很胖,你可以不优秀,可以不上进,甚至可以不聪明。但,我不可以。

04.头等舱可以优先登机银行VIP可以不用排队演唱会最贵的票位置也最好世界从不平等你有多努力就有多特殊.

05.多读点书,要不然你的三观是由你的亲朋好友决定的。

最后如果觉得我写的还不错,请不要忘记点赞✌,收藏✌,加关注✌哦(。・ω・。)

**愿我们一起加油,奔向更美好的未来,愿我们从懵懵懂懂的一枚==菜鸟==逐渐成为==大佬==。加油,为自己点赞!**

相关文章:

  • SpringBoot整合Swagger
  • ProcExp的利用
  • C++内存管理
  • 33、Java 异常掌握这些就够了(图解 Java 中的异常)
  • springboot-方法处理4-消息转换器
  • FPGA底层资源综述
  • CLIP扩展
  • 从一维卷积、因果卷积(Causal CNN)、扩展卷积(Dilation CNN) 到 时间卷积网络 (TCN)
  • 高等数学(第七版)同济大学 习题8-2 个人解答
  • [HJ56 完全数计算]
  • 【nlp】天池学习赛-新闻文本分类-机器学习
  • 机器人系统,如何快速算法开发与原型机验证?
  • 调用静态方法
  • Vue的生命周期详解
  • 机器人控制算法九之机器人建模(XML)、工作场景Scances建模(VRML)
  • 《剑指offer》分解让复杂问题更简单
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • 2017 年终总结 —— 在路上
  • co.js - 让异步代码同步化
  • Github访问慢解决办法
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Travix是如何部署应用程序到Kubernetes上的
  • ucore操作系统实验笔记 - 重新理解中断
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 和 || 运算
  • 开发基于以太坊智能合约的DApp
  • 如何实现 font-size 的响应式
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 使用 @font-face
  • 使用 QuickBI 搭建酷炫可视化分析
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 用Canvas画一棵二叉树
  • 白色的风信子
  • NLPIR智能语义技术让大数据挖掘更简单
  • 积累各种好的链接
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • #《AI中文版》V3 第 1 章 概述
  • #Linux(make工具和makefile文件以及makefile语法)
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (1) caustics\
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (4)Elastix图像配准:3D图像
  • (function(){})()的分步解析
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET 中什么样的类是可使用 await 异步等待的?