特定数字组合型文本快速去除重复
本源码转载自利快云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 *****
消灭零回复,坐沙发学习…… 特定数字组合型文本快速去除重复 没看明白,下载来运行下
应该要加句判断,要不全是0000到9999了
好东西:):) 快速去除重复可以秒杀不 没看明白,下载来运行下 每日一顶:$ 消灭零回复,坐沙发学习……
页:
[1]
2