Java数组合并,完成排序,从时间复杂度,和空间复杂度考虑

news/2024/7/5 2:27:23

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

提供方法,直接调用,支持任意个数组的合并成一个数组,并且完成排序,每个数组元素个数不定。需要提供两个方法,分别做到时间复杂度最低、空间复杂度最低。并说明两个方法的时间复杂度和空间复杂度

面试题: 题目就这样,只能理解到这,望大家给出正确的答案。

1、时间复杂度最低 (暂时还没研究明白....)

2、空间复杂度最低 (凑合看吧)在资料书中看到的 

package lcr;public class ArrayMerge {public static void main(String[] args) {int[] a = new int[10];a[0] = 100;a[1] = 111;a[2] = 112;int[] b = { 10, 11, 12 };merge(a, 3, b, 3);for (int i = 0; i < a.length; i++) {System.out.println(a[i] + " ");}}/*** 空间复杂度最低* 1.假定一个新的数组,长度为合并之后的长度 m + n * 2.比较大小,较大的往后移动,指针前移* 3.合并之后的数组不新分配内存空间,而是利用已有的数组存放* 4.参数在末端插入,如果数组空间没有填满,复杂度为O(1)* @param a* @param m* @param b* @param n*/public static void merge(int a[], int m, int b[], int n) {int i = m - 1;int j = n - 1;int index = m + n - 1; //假定一个新的数组,长度为合并之后的长度 m + n while (i >= 0 && j >= 0) {if (a[i] > b[j]) { //比较大小,较大的往后移动,指针前移a[index] = a[i];index = index - 1;i = i - 1;} else {a[index] = b[j];index = index - 1;j = j - 1;}}while (i >= 0) {a[index] = a[i];index = index - 1;i = i - 1;}while (j >= 0) {a[index] = b[j];index = index - 1;j = j - 1;}}}

 

转载于:https://my.oschina.net/u/878584/blog/2210263


http://lihuaxi.xjx100.cn/news/236166.html

相关文章

服务器操作系统安全更新,服务器操作系统安全更新

服务器操作系统安全更新 内容精选换一换使用弹性云服务器或者外部镜像文件创建私有镜像时&#xff0c;必须确保操作系统中已安装UVP VMTools&#xff0c;使新发放的云服务器支持KVM虚拟化&#xff0c;同时也可以提升云服务器的网络性能。如果不安装UVP VMTools&#xff0c;云服…

Redis的集群模式

集群 即使使用哨兵&#xff0c;此时的Redis集群的每个数据库依然存有集群中的所有数据&#xff0c;从而导致集群的总数据存储量受限于可用存储内存最小的数据库节点&#xff0c;形成木桶效应。由于Redis中的所有数据都是基于内存存储&#xff0c;这一问题就尤为突出了尤其是当使…

综合布线系统入门及应用(二)

一、工程材料用量估计 1、信息模块及水晶头用量统计 信息插座与工位数量1:1&#xff0c;在增加5%的余量 跳线&#xff1a;一般需要2条&#xff0c;工位信息面板到设备&#xff0c;交换机到配线架&#xff0c;每根条线2个水晶头&#xff0c;预留10%-15%。 2、线槽用量统计 根据办…

JDBC

当我们在写一个程序时&#xff0c;会产生很多有用的数据&#xff0c;我们的注册信息&#xff0c;我们的购物车&#xff0c;我们的记录下来的一些信息&#xff0c;但我们知道程序运行在内存中&#xff0c;当断电后&#xff0c;运行时产生的数据全都会消失了&#xff0c;那怎么办…

力扣(LeetCode)933

题目地址&#xff1a;https://leetcode-cn.com/probl...题目描述&#xff1a;写一个 RecentCounter 类来计算最近的请求。 它只有一个方法&#xff1a;ping(int t)&#xff0c;其中 t 代表以毫秒为单位的某个时间。 返回从 3000 毫秒前到现在的 ping 数。 任何处于 [t - 3000, …

Thorntail 2.2.0提供从WildFly Swarm自动迁移的特性

自6月底宣布把WildFly Swarm2018.5.0改名为Thorntail2.0.0以来&#xff0c;Red Hat在8月中旬以后的三个周里发布了Thorntail 2.1.0版本和2.2.0版本。除了许多Bug修复外&#xff0c;尤其是和MicroProfile相关的&#xff0c;新特性还包括&#xff1a;\\符合MicroProfile 1.3\通过…

将光耦合进入单模光纤的最佳工作距离

摘要 光纤是现代光学系统中最通用的部件之一。它们最重要的特点之一是它们能够在远距离&#xff08;甚至几公里&#xff09;内以极低的损耗传输光能。另一方面&#xff0c;以一种能够达到尽可能高的效率的方式将光耦合到光纤中通常是一项非常精细的需求&#xff1a;例如&…

RISC-V架构上的Debian和Fedora现状

RISC-V仍然是开源/Linux用户非常感兴趣的&#xff0c;因为它是免版税且完全开放的CPU架构。部分原因是由于缺乏经济实惠的RISC-V硬件&#xff0c;限制了开发人员在这种架构上的更多工作&#xff0c;Linux发行版支持的RISC-V状态各不相同&#xff0c;但近年来至少有所改善。在上…