合并两个有序数组(C, Python)

  • 1. 题目描述
  • 2. 题目分析
  • 3. C语言实现
  • 4. Python语言实现

1. 题目描述

难度:简单

2. 题目分析

这道题比较简单,实现方法有两种:

  • 插入法(C)
    依次将nums2中的数与nums1中的数按照大小放入nums1的末尾,这样的做法不用再次申请空间。时间复杂度为O(n)
  • 排序法(Python)
    先将nums2的元素放入nums1的尾部,然后进行排序即可。时间复杂度为O(nlogn)。

3. C语言实现

代码如下:

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

运行结果为:

4. Python语言实现

代码如下:

class Solution:def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:nums1[m:m+n] = nums2nums1.sort()

Python大法好,运行结果为:

LeetCode--88.合并两个有序数组(插入法,排序法)相关推荐

  1. LeetCode 88. 合并两个有序数组 golang

    88. 合并两个有序数组 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 ...

  2. Java实现 LeetCode 88 合并两个有序数组

    88. 合并两个有序数组 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元 ...

  3. leetcode 88. 合并两个有序数组

    88. 合并两个有序数组 class Solution {public:void merge(vector<int>& nums1, int m, vector<int> ...

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

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

  5. LeetCode 88 合并两个有序数组

    题目描述 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为 一个有序数组.说明: 初始化 nums1 和 nums2 的元素数量分别为 ...

  6. LeetCode 88. 合并两个有序数组(Merge Sorted Array)

    首先,这个题中给出的函数没有返回值,所以就意味着我们不能另建一个数组来做合并! 第一种思路: 第一步:比较nums1和nums2,使nums2最小值大于nums1的最大值,而在这个过程要保持nums2 ...

  7. Leetcode 88. 合并两个有序数组 解题思路及C++实现

    解题思路: 定义三个指针,分别从 nums1 和 nums2 数组的尾部开始向前扫一遍,即可将最终的排序结果存储在nums1中,时间复杂度为 O(m+n). class Solution { publ ...

  8. LeetCode-双指针-88. 合并两个有序数组

    88. 合并两个有序数组 思路:归并排序,一长一短,肯定会有一个先放完,放完后把另一个拷贝过去即可. 为了避免覆盖所以从最后开始向前放最大的元素 class Solution {public:void ...

  9. 双指针:88. 合并两个有序数组

    题目链接 88. 合并两个有序数组 解题思路 一. 合并数组后排序,时间复杂度为O((n+m)log(n+m)) 代码: 快排详解 class Solution {public void merge( ...

  10. 88. 合并两个有序数组 golang

    88. 合并两个有序数组 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 ...

最新文章

  1. Windows SharePoint Services 3.0 应用程序模板
  2. UIButton 的不同设置和UITextField 的默认值(修改默认值)
  3. 除了 k8s,留给 k 和 s 中间的数字不多了!
  4. python一年收入_你的年收入过5万了吗?数据科学家的Python模块和包
  5. 可能是全网首个前端源码共读活动,诚邀加入学习
  6. H5 使用微信开放标签跳转小程序
  7. Promise的几个扩展API总结
  8. 错误 1 未能找到类型或命名空间名称mysql_错误1未能找到类型或命名空间名称“DataPager”(是否缺少 using 指令或程序集引用?)...
  9. 面试题之Java中线程的几种状态
  10. 王道 计算机网络试题讲解_王道考研 计算机网络(7)学习笔记
  11. iOS 截屏 长图 拼图
  12. 方志朋-2018年文章汇总
  13. 单片机简易数字钟c语言程序,用AT89C51/AT89S52单片机制作的简易数字钟
  14. 学术-几何-维-四维几何:超正方体(几何中的思维方体)
  15. 大一新生HTML期末作业 个人网页王嘉尔明星介绍网页设计与制作
  16. 华为系统gps定位服务器地址,很多手机的定位功能都叫GPS,为什么偏偏华为手机的定位功能叫“位置信息”?...
  17. linux下安装MySQL5.7及遇到的问题总结
  18. 853计算机综合基础包括什么,2017年南京农业大学853计算机专业基础综合硕士研究生参考书目...
  19. 交通运输词汇(zt)
  20. 【线性代数】共轭转置矩阵

热门文章

  1. FTP安装及用户及权限配置
  2. 画出计算机网络的一般组成,计算机网络习题(有答案).pdf
  3. 基于Android平台淘宝网手机客户端实战开发(共四季,涉及各类技术应用)
  4. this指向_前端面试之彻底搞懂this指向
  5. asp.net core 2.0 web api + Identity Server 4 + angular 5 可运行前后台源码
  6. 监听器第一篇【基本概念、Servlet各个监听器】
  7. PHP超级全局变量总结
  8. 43个热门Flex和ActionScript 3.0 APIs,技巧和工具
  9. flutter DateTime 日期时间详细解析 Dart语言基础
  10. 精通Android自定义View(十九)自定义圆形炫彩加载转圈效果