1185907650 发表于 2021-4-30 10:48:25

特定数字组合型文本快速去除重复

本源码转载自利快云https://www.lkuaiy.com/




在某些特定情况下,有规律的数字型文本数据,比如全部由0到9这10个数字4个一组组合成一组文本,(0000-9999)这样一万个组合。如果一段文本里面有8000个组合,但里面重复的比较多,下面就提供一个简单好理解的思路,(看最后效果近十万个组合去重只需几十毫秒)先上图

https://www.lkuaiy.com/image/editor/16197061733929.png

https://www.lkuaiy.com/image/editor/16197061857200.png
https://www.lkuaiy.com/image/editor/16197061975251.png


现在我们来说一下思路,0000 0001 0002 0003 ..... 0125 0126 ..... 2538 2539 ......9999这种组合有一万组,那么我么可以看成是数字0到9999,
我们将这每一个组合,如果倒整数 那么就是0 1 2 3....125 126 .....2538 2539 .....9999,这样我们就建一个成员数为一万的整数数组,每一个组合倒整数后对应的值就是数组成员中的一个下标值,
然后在将对应下标的成员给他赋值为1,表示这个成员有,这样的话不用去比较,有几种组合就直接循环几次,去掉重复后我们在把组合整理出来,通过观察组合规律,就是不够4位的给前面补几个0保证有4位数字


https://www.lkuaiy.com/image/editor/16197069591721.gif



以上是直接源码调试时测试速度的,下面是编译后的速度,效果杠杠滴(我是将4千多组组合直接粘贴20次在去重,这样每个组合重复有20次)



https://www.lkuaiy.com/image/editor/16197073649914.gif


**** Hidden Message *****





大强 发表于 2021-4-30 10:53:49

消灭零回复,坐沙发学习……

zqiz 发表于 2021-4-30 11:11:24

特定数字组合型文本快速去除重复

hyi 发表于 2021-4-30 13:29:45

没看明白,下载来运行下

hyi 发表于 2021-4-30 13:41:17


应该要加句判断,要不全是0000到9999了

最棒的英雄 发表于 2021-5-5 09:47:04

好东西:):)

苹果2014 发表于 2021-5-5 18:24:40

快速去除重复可以秒杀不

benxiaohai 发表于 2021-5-5 21:43:21

没看明白,下载来运行下

1185907650 发表于 2021-7-1 14:14:55

每日一顶:$

nurjay 发表于 2021-12-28 17:27:31

消灭零回复,坐沙发学习……
页: [1] 2
查看完整版本: 特定数字组合型文本快速去除重复