数组合并,怎么样才比较快

yangrfa 发布于 01/17 14:29
阅读 171
收藏 1

已知有一个list,list中每个元素都是一个二元组(x,y),任何一个二元组中都是x < y。合并规则如下:

1. 如果a1(x=1, y=3), a2(x=3, y=4), a3(x=4, y=7),这三个元素可以合并成一个新的二元组c(x=1, y=7),即前一个元素的y和后一个的x相同,可以合并;

2. 如果a1(x=1, y=2), a2(x=3, y=4), a3(x=4, y=7),合并后的结果是c1(x=1, y=2), c2(x=3, y=7),即前一个元素的y和后一个的x不相同,不能合并;

3. 如果a1(x=1, y=2), a2(x=3, y=4), a3(x=5, y=7),则三个都不能合并,结果是c1(x=1, y=2), c2(x=3, y=4), c3(x=5, y=7)

 

假定前提条件:list中的元素已按x进行排序,即:a1.x < a2.x <…<an.x

 

如何合并,怎样才比较快,求思路,谢谢

加载中
0
你不懂的吧
你不懂的吧

x y 分成两个数组,相同的数两数组都去除,最终结果就是一个x 一个y,一个x一个y 。。。。

能力有限啊

0
zh0
zh0

guava的Range + stream.reduce

返回顶部
顶部