题目描述
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。

说明:

  • 初始化 nums1 和 nums2 的元素数量分别为 m 和 n
  • 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素

示例:

输入:
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6],       n = 3输出: [1,2,2,3,5,6]

思路1:最简单的是先直接合并数组,然后再排序,代码如下:

public void merge(int[] nums1, int m, int[] nums2, int n) {if(n<1) {return;}for(int i=0;i<n;i++) {nums1[i+m] = nums2[i];}Arrays.sort(nums1,0,m+n);}

思路2: 从后往前排序, 时间复杂度为O(n)

public void merge(int[] nums1, int m, int[] nums2, int n) {int p = m-- + n-- -1;while(m>=0 && n>=0) {nums1[p--] = nums1[m]>nums2[n]?nums1[m--]:nums2[n--];}while(n>=0) {nums1[p--] = nums2[n--];}}

2019-03-12-算法-进化(合并两个有序数组)相关推荐

  1. 两个数组合并排序python_python算法题---合并两个有序数组

    leetcode-python-合并两个有序数组 今天第一次电话面试,有点紧张,所以自己感觉表现的不是很好,面试过程中面试官问到了两个算法题,都是leecode上面的题目,而且我都做过,但是当时一下子 ...

  2. 【每日一算法】合并两个有序数组

    每日一算法-搜索插入位置 题目 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 ...

  3. 【算法】合并两个有序数组【LeetCode】

    文章目录 一.题目 二.说明 三.示例 四.代码实现 1. 思路一: 一.题目 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有 ...

  4. leetcode算法题--合并两个有序数组

    原题链接:https://leetcode-cn.com/problems/merge-sorted-array/ 尾部双指针 void merge(vector<int>& nu ...

  5. 合并两个有序数组(初级算法合并两个有序数组)

    合并两个有序数组 1.题目: (合并两个有序数组) 2. 示例 3.解答步骤 4. 提交结果(提交用时和内存消耗) 声明: 题目均来自力扣,网址力扣官网, 如有侵权,告知必删! 本题地址: 点击我跳转 ...

  6. 算法刷题打卡第11天:合并两个有序数组

    合并两个有序数组 难度:简单 给你两个按非递减顺序排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目. 请你合并 nums2 到 ...

  7. LeetCode 88合并两个有序数组89格雷编码

    微信搜一搜:bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打卡群,欢迎 ...

  8. C++合并两个有序数组成一个有序数组时间复杂度最小的解法

    简单来说,时间复杂度最低为O(m+n)== m和n指的是两个有序数组的大小 代码实现: //输出结果 template<class T> void PrintVecResult(vecto ...

  9. Leetcode算法题:两个有序数组求中位数

    Leetcode算法题:两个有序数组求中位数 要求时间复杂度为O(log(m+n)) 思路: 暴力解决:合并数组并排序,简单且一定能实现,时间复杂度O(m+n) 由于两个数组已经排好序,可一边排序一边 ...

  10. LeetCode——合并两个有序数组

    LeetCode--合并两个有序数组 题目描述: 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组. 说明: 初始化 nu ...

最新文章

  1. windows操作系统_如何正确使用windows操作系统?
  2. python画指数函数图像_解决python中的幂函数、指数函数问题
  3. SpringBoot 学习 | raibaby Halo v0.4.3 漏洞分析-Ali0th
  4. python调用系统命令_Python如何调用外部系统命令
  5. 【转】使 用免费UMS架设Flash流媒体服务
  6. 物资申请php,php学生捐赠物品管理系统
  7. 惊艳!小米折叠屏新机渲染图曝光:不输华为三星
  8. php格式化输出字_PHP 输出格式化字符串
  9. 2010.03.13 微软VSTS2008 动手实验室
  10. matlab 向量法建数组(推荐)
  11. phpstrom自己定义和原本的常用快捷键
  12. python自动机器学习库auto_ml模块
  13. 基于MATLAB的人脸识别
  14. Windows 10 配置Java 环境变量
  15. Vue基础语法之计算属性
  16. 详解线上线下收单业务(2)
  17. 一款强大的红队资产测绘工具
  18. CRISPR最新:新CRISPR技术靶向更复杂的人类基因组代码
  19. JZOJ5401. 【NOIP2017提高A组模拟10.8】Star Way To Heaven
  20. 编程十年 (14):毁人不倦2

热门文章

  1. 【C语言简单说】六:取模运算符以及变量的扩展
  2. 两点之间直线只有一条,曲线却有无数条,哪条才是最短的?
  3. 据说这是史上最牛逼的可视化神器
  4. 资料分享 | 数据挖掘实例资料分享来袭
  5. 大数据时代,数据科学都有些啥?
  6. linux 文档属于apache,Apache 安装和使用文档
  7. linux怎么杀死线程c语言,教程-linux下c语言编程 第一弹-线程的使用
  8. python seaborn 热图_python – 在seaborn中结合两张热图
  9. linux path减少,Linux的环境变量PATH中所带来的问题及解决方法
  10. c语言实现字母转化为unicode码,用C语言实现中文到unicode码的转换