LeetCode--88.合并两个有序数组(插入法,排序法)
合并两个有序数组(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.合并两个有序数组(插入法,排序法)相关推荐
- LeetCode 88. 合并两个有序数组 golang
88. 合并两个有序数组 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 ...
- Java实现 LeetCode 88 合并两个有序数组
88. 合并两个有序数组 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元 ...
- leetcode 88. 合并两个有序数组
88. 合并两个有序数组 class Solution {public:void merge(vector<int>& nums1, int m, vector<int> ...
- LeetCode 88合并两个有序数组89格雷编码
微信搜一搜:bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打卡群,欢迎 ...
- LeetCode 88 合并两个有序数组
题目描述 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为 一个有序数组.说明: 初始化 nums1 和 nums2 的元素数量分别为 ...
- LeetCode 88. 合并两个有序数组(Merge Sorted Array)
首先,这个题中给出的函数没有返回值,所以就意味着我们不能另建一个数组来做合并! 第一种思路: 第一步:比较nums1和nums2,使nums2最小值大于nums1的最大值,而在这个过程要保持nums2 ...
- Leetcode 88. 合并两个有序数组 解题思路及C++实现
解题思路: 定义三个指针,分别从 nums1 和 nums2 数组的尾部开始向前扫一遍,即可将最终的排序结果存储在nums1中,时间复杂度为 O(m+n). class Solution { publ ...
- LeetCode-双指针-88. 合并两个有序数组
88. 合并两个有序数组 思路:归并排序,一长一短,肯定会有一个先放完,放完后把另一个拷贝过去即可. 为了避免覆盖所以从最后开始向前放最大的元素 class Solution {public:void ...
- 双指针:88. 合并两个有序数组
题目链接 88. 合并两个有序数组 解题思路 一. 合并数组后排序,时间复杂度为O((n+m)log(n+m)) 代码: 快排详解 class Solution {public void merge( ...
- 88. 合并两个有序数组 golang
88. 合并两个有序数组 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 ...
最新文章
- Windows SharePoint Services 3.0 应用程序模板
- UIButton 的不同设置和UITextField 的默认值(修改默认值)
- 除了 k8s,留给 k 和 s 中间的数字不多了!
- python一年收入_你的年收入过5万了吗?数据科学家的Python模块和包
- 可能是全网首个前端源码共读活动,诚邀加入学习
- H5 使用微信开放标签跳转小程序
- Promise的几个扩展API总结
- 错误 1 未能找到类型或命名空间名称mysql_错误1未能找到类型或命名空间名称“DataPager”(是否缺少 using 指令或程序集引用?)...
- 面试题之Java中线程的几种状态
- 王道 计算机网络试题讲解_王道考研 计算机网络(7)学习笔记
- iOS 截屏 长图 拼图
- 方志朋-2018年文章汇总
- 单片机简易数字钟c语言程序,用AT89C51/AT89S52单片机制作的简易数字钟
- 学术-几何-维-四维几何:超正方体(几何中的思维方体)
- 大一新生HTML期末作业 个人网页王嘉尔明星介绍网页设计与制作
- 华为系统gps定位服务器地址,很多手机的定位功能都叫GPS,为什么偏偏华为手机的定位功能叫“位置信息”?...
- linux下安装MySQL5.7及遇到的问题总结
- 853计算机综合基础包括什么,2017年南京农业大学853计算机专业基础综合硕士研究生参考书目...
- 交通运输词汇(zt)
- 【线性代数】共轭转置矩阵
热门文章
- FTP安装及用户及权限配置
- 画出计算机网络的一般组成,计算机网络习题(有答案).pdf
- 基于Android平台淘宝网手机客户端实战开发(共四季,涉及各类技术应用)
- this指向_前端面试之彻底搞懂this指向
- asp.net core 2.0 web api + Identity Server 4 + angular 5 可运行前后台源码
- 监听器第一篇【基本概念、Servlet各个监听器】
- PHP超级全局变量总结
- 43个热门Flex和ActionScript 3.0 APIs,技巧和工具
- flutter DateTime 日期时间详细解析 Dart语言基础
- 精通Android自定义View(十九)自定义圆形炫彩加载转圈效果