Tag: 合并

Java递归和合并排序

我正在尝试用Java编写一个简单的合并排序程序,我在Eclipse中看到了很多红色。 我还是个初学者,并没有看到什么是错的。 谢谢。 -Kyle public class merge{ public static int[] mergeSub(int[] array, int left, int right){ if(left<right) { int mid = (left+right)/2; int[] a = mergeSub(array, left, mid); int [] b = mergeSub(array, mid+1, right); return merge(a, b); } int[] arr=new int[1]; arr[0]=arr[left]; return arr; } static int[] merge(int[] left, int[] right){ int index =0; […]

合并两个数组而不使用额外的空间

我有2个排序的数组, a1和a2 ,长度分别为l1和l2 。 数组a2在长度为l1的末尾具有空白空间,因此除了它自己的元素之外,它还可以包含a1所有元素。 现在,我想将a1合并到a2以便a2将按排序顺序包含a1和a2所有元素。 理想情况下,这应该使用O(1)辅助存储空间。 我有以下鳕鱼,但是出了点问题: public static int[] merge(int []a1,int a2[],int l1, int l2){ System.out.println(“l1 =” +l1 + ” l2=” +l2); int es = l2-l1; int fs = l2-es; System.out.println(“es= ” +es); System.out.println(“fs = ” + fs); int j=0; for(int i=0;i< l1;i++){ if(j<fs){ // System.out.println("i= " + i + "a1[i]=" + a1[i]); […]

用于合并java bean的工具

使用内省合并两个简单,扁平的Java bean很容易: BeanInfo info = Introspector.getBeanInfo( ContactBean.class ); PropertyDescriptor pDescArr[] = info.getPropertyDescriptors(); for(PropertyDescriptor pDesc : pDescArr){ //copy properties and check for conflicts here } 但是,当属性包含嵌套bean或集合时,它会变得更复杂一些。 是否有一个智能工具可以处理复杂bean的深度合并? 关于我如何使合并工作的一些更具体的细节: 给定源bean的集合和空目标bean,除非存在冲突,否则应将简单属性从源复制到目标。 如果存在冲突,则该字段应为空。 如果属性属于集合类型,则应合并源bean的值(不包括重复项),并将其复制到目标属性。 这些规则应递归应用于bean本身的属性。

解决冲突融合算法

我看一下看起来搞砸了的合并标记。 为了给你这种情况,让我们: public void methodA() { prepare(); try { doSomething(); } catch(Exception e) { doSomethingElse(); } } 现在进入合并(我使用SourceTree进行拉动)。 标记看起来像这样: <<<<<<<<>>>>>>> 9832432984384398949873ab } 所以拉取提交的作用是完全删除methodA并添加methodB。 但是你注意到有些线路完全缺失。 根据我对该过程的理解,Git正在尝试所谓的自动合并,如果这个失败并且检测到冲突,则完整合并由标记为“<<>> * CommitID’并准备手动冲突解决方案。 那么为什么它会遗漏一些线条呢。 它看起来更像是一个bug。 我使用的是Windows7,安装的git版本是2.6.2.windows.1 。 虽然最新的版本是2.9,但我想知道是否有任何关于具有如此规模的合并问题的git版本的知识? 这不是我第一次经历这样的事情……

java – 将adiacent矩形合并为多​​边形

我有一组具有相同宽度和高度的矩形,并且始终是adiacent。 我知道所有顶点的位置,每个顶点只有4个(因为是正方形)。 这张图片可以解释这个: 如果有任何差距,如果算法将“填补”差距,则可以。 我搜索了很多,找不到任何好的东西。我需要一个简单的算法,它不一定非常有效。让我们说我们得到了7个矩形,就像图像中的第二个多边形示例一样。 如果我首先将1与2合并,然后将我们的新多边形与3合并,那么就可以了,依此类推,它不必那么快,因为最多会有50个矩形。

合并重叠间隔

问题:给定任何顺序的一组时间间隔,将所有重叠间隔合并为一,并输出应该只有互斥间隔的结果。 为简单起见,将间隔表示为整数对。 例如,让给定的区间集合为{{1,3},{2,4},{5,7},{6,8}}。 区间{1,3}和{2,4}彼此重叠,因此它们应合并为{1,4}。 同样地,{5,7}和{6,8}应该合并并成为{5,8} 编写一个函数,为给定的一组区间产生一组合并区间。 我的代码: import java.util.*; import java.lang.*; import java.io.*; class Interval { int start; int end; Interval() { start = 0; end = 0; } Interval(int s, int e) { start = s; end = e; } } class Ideone { public ArrayList merge(ArrayList intervals) { if(intervals.size() == 0) return intervals; […]

如何使用Java将> 1000 xml文件合并为一个

我试图将许多xml文件合并为一个。 我已经在DOM中成功完成了这项工作,但此解决方案仅限于几个文件。 当我在多个文件> 1000上运行它时,我得到一个java.lang.OutOfMemoryError。 我想要实现的是我有以下文件 档案1: …. 文件2: …… 档案n: …. 结果:输出: …. …. …. 这是我目前的实施: DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); Document doc = docBuilder.newDocument(); Element rootSetElement = doc.createElement(“rootSet”); Node rootSetNode = doc.appendChild(rootSetElement); Element creationElement = doc.createElement(“creationDate”); rootSetNode.appendChild(creationElement); creationElement.setTextContent(dateString); File dir = new File(“/tmp/rootFiles”); String[] files = dir.list(); if (files == null) […]

排序比较计数器

我有这个代码对一个填充了随机数的数组进行排序,并计算完成排序所需的数字比较。 我正在使用排序方法选择气泡和合并排序。 我有选择和泡沫的计数器,但没有合并我不知道在哪里放它。 这可能是一个简单的答案,但我无法让它工作。 码: /*********************************************************************** * * Selection Sort: * Reads in the array and then searches for the largest number. * After it finds the largest number, it then swaps that number with the * last number of the array * Precondition: takes in an array of “n” items, which in this particular […]

如何在java中合并两个复杂的对象

我有两个java对象,我想将它们合并到单个对象中。 问题是两个对象不包含普通原始类型属性(字段),它们包含复杂类型属性(如其他类型的对象和其他类型的对象列表)。 对象1:通过设置一些属性(字段)和返回 对象2:通过设置一些属性(字段)返回,或者它可以返回它所拥有但不被对象1返回的类型的新对象。 对象1和对象2都是相同类型的。 结果对象3 = obj1属性+如果类型与obj1相同,则更新obj 2中的属性+来自obj2的新更新对象

在Java中以恒定时间合并两个列表

有谁知道在Java中是否可以在常量时间内合并两个列表(或任何集合)? http://www.cppreference.com/wiki/stl/list/splice 使用C中的链接列表很容易做到这一点… 谢谢,