小编Viv*_*vek的帖子

使用较早出现的较小整数查找数组中可能存在的最大差异

这是一个面试问题:

找到整数数组中可能存在的最大差异,以便较小的整数出现在数组的较早位置.

约束:数字不是唯一的.范围是java的整数范围.(或任何其他语言)

例:

输入1:{1,100,2,105,-10,30,100}

最大的差异在-10到100之间 - > 110(这里-10是第5指数,100是第7指数)

输入2:{1,100,2,105,-10,30,80}

最大的差异在1到105之间 - > 104(这里1是第1指数,105是第4指数)

可能解决方案

一种方法是检查所有可能的差异,并跟踪迄今为止发现的最大差异O(n ^ 2)复杂度.

这可以在比O(n ^ 2)时间更好的时候完成吗?

java algorithm

11
推荐指数
2
解决办法
2万
查看次数

用Java创建和保存大型XML

我正在研究一个java应用程序,它的工作是创建和保存XML(大型).我得到的样本是300 MB XML文件.

该应用程序旨在从数据库中收集批量数据并以XML格式保存.该应用程序由于其大量的IO和内存使用量而被设计为处理MAX 3这样的并行请求.

现在的要求是使其最多可并行处理50个这样的请求.当前应用程序使用XMLbean创建XML,然后将其保存到文件系统.该应用程序在weblogic服务器上公开为Web服务(它位于64位操作系统上,Java MAX堆大小为4 GB).

我需要你的意见:

1)是否有一个与XSD一起使用的XML API,可用于以最小的开销创建200-200 MB的大型XML?XMLbean对我们来说很好,但是有什么东西可以更好地处理它吗?

2)将它保存到文件系统的最佳和最有效的内存方式是什么? - 我正在考虑将当前的编写器更改为bufferedWriter,并在物理写入磁盘之前将其保存到内存中. - 增加它会有任何副作用吗?

3)如果对技术选择和服务器等没有限制 - 什么是理想的解决方案!

编辑1#数据库访问速度很快(约占总时间的5%).XML的创建很慢(占用80%).节省它需要15%(但有很多改进,我看​​到我可以这样做,所以我并不担心这一点). - 谢谢路易斯.

java xml file-io xml-serialization java-ee

3
推荐指数
1
解决办法
6034
查看次数

标签 统计

java ×2

algorithm ×1

file-io ×1

java-ee ×1

xml ×1

xml-serialization ×1