Ale*_*dar 4 haskell set-difference
我想在2个整数列表之间设置差异,这允许在haskell中重复.
因此,如果有[1,2,1,4,3] [1,2,4],差异将是[1,3]
目前我可以通过普通\\运营商来做到这一点listA \\ listB.
但问题是这个问题太慢了.由于整数在ord组中,因此可以更快地完成.
我知道这个Data.Multiset模块可以更快地完成它,但是在没有Data.Multiset模块的列表上有没有本地方法呢?
由于整数在ord组中,因此可以更快地完成.
是的,但它需要构建一个排序索引.这就是Data.Multiset正在做的事情.你当然可以编写一个手动执行此操作的操作,但Multiset到那时你将有效地重新实现.