合并两个无序数组java_88. 合并两个有序数组
88. 合并两个有序数组
给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。
说明:
初始化 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]
题解:
本题思路就是比较数组两个元素大小,然后从后往前遍历即可。这里需要注意,如果两个数组长度不一样,那么当任意一个数组遍历完后,我们只需将另一个数组中的元素按序插入即可。
具体代码如下:
class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {int index = m + n - 1;m--;n--;while (m >= 0 && n >= 0) {if (nums1[m] > nums2[n]) {nums1[index--] = nums1[m--];} else {nums1[index--] = nums2[n--];}}//如果一个数组已经遍历完了,将另一个数组中的元素直接替换nums1之前的元素即可if (m >= 0) {while (m >= 0) {nums1[index--] = nums1[m--];}} else {while (n >= 0) {nums1[index--] = nums2[n--];}}}
}
合并两个无序数组java_88. 合并两个有序数组相关推荐
- 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。
1.给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 ...
- 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。
/*** 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2.请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))=Ologm*Ologn.你可以假设 ...
- 合并两个有序数组为一个新的有序数组
题目:有两个有序数组a,b,现须要将其合并成一个新的有序数组. 简单的思路就是先放到一个新的数组中,再排序.可是这种没体现不论什么算法,这里考的不是高速排序等排序算法.关键应该是怎样利用有序已知这个条 ...
- 【LeetCode 剑指offer刷题】数组题2:57 有序数组中和为s的两个数(167 Two Sum II - Input array is sorted)...
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 57 有序数组中和为s的两个数 题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是 ...
- leetcode C++ 4. 寻找两个有序数组的中位数 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log
一.概述: 这道题思路其实蛮简单的,就是边界太难考虑了,所以一直没能通过,写了好长的代码考虑边界,然后看到一个大神写的代码: https://leetcode-cn.com/problems/medi ...
- java中有序数组比无序数值好_java面向对象的有序数组和无序数组的比较
packageaa;classArray{//定义一个有序数组 private long[] a;//定义数组长度 private intnElems;//构造函数初始化 public Array(i ...
- 百度:在O(1)空间复杂度范围内对一个数组中前后连段有序数组进行归并排序
一.题目理解 题目:数组al[0,mid-1]和al[mid,num-1]是各自有序的,对数组al[0,num-1]的两个子有序段进行merge,得到al[0,num-1]整体有序.要求空间复杂度为O ...
- 将字符串转换为数组_LeetCode 树 108.将有序数组转换为二叉搜索树
7(108) 将有序数组转换为二叉搜索树 描述 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 ...
- 合并两个有序数组(给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。)
void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){ //定义,让数组从后往 ...
最新文章
- ZOJ Problem Set - 1048 Financial Management
- Ajax -get 请求
- Hyperledger Fabric Chaincode 开发
- 构建闭环式的研发运维体系----云效EDAS DevOps
- redis基本类型和使用
- IDEA对tomcat远程debug
- 剑指offer面试题32 - I. 从上到下打印二叉树(二叉树)(BFS)
- iOS图形处理概论:OpenGL ES,Metal,Core Graphics,Core Image,GPUImage,OpenCV等
- Rust: HDF5文件的处理探索(to be continued.......)
- qam映射c程序_DVB-C系统中QAM调制与解调仿真
- 关于二进制补码+CS5463
- php trying to get,php 做微信认证登陆 返回错误 Trying to get property of non-object
- 实验项目一 俄罗斯方块游戏
- Ubuntu下搜狗輸入法不能输入汉字
- 河北省计算机对口试题,河北省对口计算机试题及答案.doc
- opc ua 用哪种语言编写_OPC UA是什么 OPC UA简介
- 离散数学在计算机科学中的应用
- 20189220 余超《Linux内核原理与分析》第六周作业
- JAVA校招基础面试题
- 使用echarts插件时,发现y值相同,但不是同一条直线,解决方法
热门文章
- 使用VoiceFliter-Lite改进设备上的语音识别
- LiveVideoStack线上分享第五季(十二):移动端多种通话场景统一技术方案实践...
- 喜马拉雅贺雯迪:基于端到端TTS实现更具生动、富有情感的语音合成表现
- C/C++学习之路: STL
- CNI (Container Network Interface)
- 大剑无锋之hadoop默认的数据类型都有哪些?
- leetcode 378. Kth Smallest Element in a Sorted Matrix | 378. 有序矩阵中第 K 小的元素(小根堆)
- 如何在eclipse中查看源码
- MIPS指令以及数据通路
- C++ 覆盖方法、重载方法的理解