一种快速统计重复次数方法、装置及存储介质与流程

文档序号:18524959发布日期:2019-08-24 10:08阅读:185来源:国知局
一种快速统计重复次数方法、装置及存储介质与流程

本发明涉及数据处理领域,尤其涉及一种快速统计重复次数的方法、装置及存储介质。



背景技术:

用户在使用终端的过程需要接收大量的数据,可是随着数据量增大,对内存空间的需求也在逐步增大。这时就需要优化内存空间,从大量的数据中找出重复的数据,而比较内存里的数据是否重复是一个特别耗时和耗内存的事情。



技术实现要素:

本发明提供一种快速统计重复次数的方法、装置及存储介质,其主要目的是减少统计数据的时间,节省内存。

为实现上述目的,本发明提供一种快速统计重复次数的方法,该方法包括:

转换步骤:根据预设算法将每一个目标数据转换为字符串,对所述字符串进行进制换算,得到一个十进制的整数序列;

统计步骤:依次读取所述整数序列的每个十进制数,判断预设二维数组的第一维度中是否存在所述十进制数,若存在,则在所述第一维度的十进制数对应的第二维度的元素的数值上加1;若不存在,则将该十进制数增加到所述预设二维数组的第一维度中,并将新增的第一维度的十进制数对应的第二维度的数值赋值为1;及

输出步骤:从所述二维数组中筛选出第二维度数值不为零的元素组成新的二维数组,将该新的二维数组发送给用户。

优选地,所述预设算法通过对目标数据进行md5编码,得到唯一对应的字符串。

优选地,所述预设二维数组的第一维度表示与目标数据对应的十进制数,第二维度表示与目标数据对应的十进制数的重复次数。

优选地,所述预设二维数组的第一维度和第二维度的数据以key-value的形式存储,第一维度的数据和第二维度的数据一一对应。

优选地,当所述整数序列中的十进制数数量超过第一预设阈值时,按照预设分组规则对所述整数序列进行分组,分别执行统计步骤,生成各个分组对应的二维数组子集合,对每个分组对应的二维数组子集合执行合并操作,生成所述整数序列对应的二维数组,从所述二维数组中筛选出第二维度数值不为零的元素组成新的二维数组,将该新的二维数组发送给用户。

优选地,当所述十进制数序列的某个十进制数的位数超过第二预设阈值时,按照预设分段规则对该十进制数进行分段处理,依次对比每一段整数,当判断两个十进制数对应的每段整数均相同时,则判定这两个十进制数是一样的,在预设二维数组第一维度的十进制数对应的第二维度的数值上加1。

此外,本发明还提供一种电子装置,该电子装置包括存储器和处理器,所述存储器中包括快速统计程序,该快速统计程序被所述处理器执行时实现如下步骤:

转换步骤:根据预设算法将每一个目标数据转换为字符串,对所述字符串进行进制换算,得到一个十进制的整数序列;

统计步骤:依次读取所述整数序列的每个十进制数,判断预设二维数组的第一维度中是否存在所述十进制数,若存在,则在所述第一维度的十进制数对应的第二维度的元素的数值上加1;若不存在,则将该十进制数增加到所述预设二维数组的第一维度中,并将新增的第一维度的十进制数对应的第二维度的数值赋值为1;及

输出步骤:从所述二维数组中筛选出第二维度数值不为零的元素组成新的二维数组,将该新的二维数组发送给用户。

优选地,所述预设算法通过对目标数据进行md5编码,得到唯一对应的字符串。

优选地,所述预设二维数组的第一维度表示与目标数据对应的十进制数,第二维度表示与目标数据对应的十进制数的重复次数。

优选地,所述预设二维数组的第一维度和第二维度的数据以key-value的形式存储,第一维度的数据和第二维度的数据一一对应。

优选地,当所述整数序列中的十进制数数量超过第一预设阈值时,按照预设分组规则对所述整数序列进行分组,分别执行统计步骤,生成各个分组对应的二维数组子集合,对每个分组对应的二维数组子集合执行合并操作,生成所述整数序列对应的二维数组,从所述二维数组中筛选出第二维度数值不为零的元素组成新的二维数组,将该新的二维数组发送给用户。

优选地,当所述十进制数序列的某个十进制数的位数超过第二预设阈值时,按照预设分段规则对该十进制数进行分段处理,依次对比每一段整数,当判断两个十进制数对应的每段整数均相同时,则判定这两个十进制数是一样的,在预设二维数组第一维度的十进制数对应的第二维度的数值上加1。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括快速统计程序,该快速统计程序被处理器执行时实现如上所述的快速统计重复次数的方法中的任意步骤。

本发明提出了一种快速统计重复次数的方法、电子装置及存储介质。该方法包括:根据预设算法将每一个目标数据转换为字符串,对所述字符串进行进制换算,得到一个十进制的整数序列;依次读取所述整数序列的每个十进制数,判断预设二维数组的第一维度中是否存在所述十进制数,若存在,则在所述第一维度的十进制数对应的第二维度的元素的数值上加1;若不存在,则将该十进制数增加到所述预设二维数组的第一维度中,并将新增的第一维度的十进制数对应的第二维度的数值赋值为1;从所述二维数组中筛选出第二维度数值不为零的元素组成新的二维数组,将该新的二维数组发送给用户。利用本发明,无需读取目标数据里面的具体内容,只需比较目标数据对应的整数序列,减少了计算机内存空间的消耗,加快了统计重复数据的速度。

附图说明

图1为本发明快速统计重复次数方法第一实施例的流程图;

图2为本发明电子装置一实施例的示意图;

图3为图1、图2中快速统计程序一实施例的程序模块图;

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种快速统计方法。参照图1所示,为本发明一实施例提供的快速统计方法的流程示意图。该方法可以由一个电子装置执行,该电子装置可以由软件和/或硬件实现。

在本实施例中,快速统计方法包括:

步骤s10,根据预设算法将每一个目标数据转换为字符串,对所述字符串进行进制换算,得到一个十进制的整数序列。

所述目标数据包括但不限于文本、图像、视频,以下以文本举例说明。

本实施例的预设算法采用的是md5编码算法。该算法通过对文本数据进行md5编码,得到一个字符串,字符串为一个32位0-9-a-f的16进制字符。每个文本数据进行md5编码后生成的字符串是唯一的。例如,38b8c2c1093dd0fec383a9d9ac940515。然后,将32为的16进制的字符串进行十进制转换,变成一个整数。并生成文本数据对应的整数序列。

步骤s20,依次读取所述整数序列的每个十进制数,判断预设二维数组的第一维度中是否存在所述十进制数,若存在,则在所述第一维度的十进制数对应的第二维度的元素的数值上加1;若不存在,则将该十进制数增加到所述预设二维数组的第一维度中,并将新增的第一维度的十进制数对应的第二维度的数值赋值为1。

所述预设二维数组以key-value的形式存在,第一维度(key)表示各文本数据对应的十进制数,第二维度(value)表示各文本数据对应的十进制数的重复次数,第一维度的数据和第二维度的数据存在一一对应的关系。

在本实施例中,预设二维数组中有元素:d1{p1,q1},d2{p2,q2},d3{p3,q3}。当读取的当前十进制数为p1时,查询到二维数组中存在key为p1的元素d1,则对元素d1中的value值执行加1的操作,即q1+1,更新元素d1为{p1,q1+1}。当读取的当前十进制数为p4时,无法从二维数组中查询到key为p4的元素,则新增一个元素d4,元素d4的第一维度为p4,第二维度的数值赋值为1,即d4{p4,1},更新原来的二维数组。

统计完文本数据对应的整数序列后,得到文本数据对应的二维数组。通过对数组进行排序,有利于提高十进制数的查询效率。排序方法可以按照二维数组的第一维度十进制数的数值从小到大的顺序对二维数组进行排序。或者,按照二维数组中第二维度数据的数值从大到小的顺序对二维数组进行排序。

在另一实施例中,预设二维数组的第一维度为连续的预设范围内的整数值(例如,0-m),其中,m最大为32位十六进制的字符串对应的最大整数,二维数组中的第二维度的初始值均为0。例如,

d0{0,0}

d1{1,0}

d2{2,0}

d3{3,0}

dm{m,0}。

在后续步骤中,以25为例,每出现一次,则在十进制数“25”对应的第二维度的重复次数的值的基础上加1,第一次为“1”,再出现一次,则加1,即为“2”,依次类推,直至遍历完整数序列中的所有整数。

步骤s30,从所述二维数组中筛选出第二维度数值不为零的元素组成新的二维数组,将该新的二维数组发送给用户。

遍历上一实施例中得到的二维数组,除去第二维度重复次数为0的元素,剩下的元素组成新的二维数组,将新的二维数据转换为预设的格式,发送给用户。

为了加快后续查询速度,根据每个文本数据对应的字符串与字符串对应的十进制数生成映射关系,通过写一个辅助函数,将转换为字符串的文本数据转成十进制数,根据转换后的十进制数即可查询到文本数据对应的重复次数。例如:文本数据对应的字符为“a”,转换成十进制数为“10”,统计完成后“10”的重复次数是9次,那么每次查找“10”重复次数的时候,将文本数据对应的字符串“a”转换成“10”,即可查到“10”对应的重复次数为9。

在一实施例中,当整数序列中的十进制数的数量超过第一预设阈值时,按照预设分组规则对整数序列进行分组,采用多线程对每个分组的整数序列分别执行步骤s20,生成各个分组对应的二维数组子集合,对每个分组对应的二维数组子集合执行合并操作,生成所述整数序列对应的二维数组,从所述二维数组中筛选出第二维度数值不为零的元素组成新的二维数组,将该新的二维数组发送给用户。所述预设分组规则为:将整数序列分为m组,每组的十进制数的数量小于或等于第一预设阈值,其中,m为大于1的整数。在实际分组过程中,第一预设阈值及m可根据实际需求进行调整。

具体地,可以将整数序列分为两组,当存在两个二维数组的第一维度的十进制数一致时,将该两个二维数组合并为一个数组,第一维度的数值为相同的十进制数,第二维度的数值为两个二维数组对应的第二维度的数值之和。例如,在合并过程中,某一个二维数组中有元素{p1,q1},另一个二维数组中有元素{p1,q2},合并后的结果为{p1,q1+q2}。

该步骤的目的在于,当文本数据对应的整数序列的十进制数的数量过多时,从头到尾计算一次花的时间过长,因此,对该整数序列进行分组,例如,平均分为2组或者4组,对以上2组或者4组十进制数并行处理(采用多线程的方法),得到各十进制数对应的二维数组,然后将各十进制数对应的二维数组进行合并,得到最终的结果,减少了统计过程所需的时间,提高处理效率。

在另一实施例中,当整数序列中的十进制数位数超过第二预设阈值(例如,25)时,对该十进制数按照预设分段规则进行分段处理,所述预设分段规则为:将该十进制数划分为n段,第1段至第n-1段整数的位数等于第二预设阈值,第n段整数的位数小于或等于第二预设阈值,其中,n为大于1的整数。例如,当十进制数位数为100时,将十进制数分为4段,每段表示对应的25位数字(按照左到右的顺序)。

依次比对每一段整数,当判断两个十进制数对应的每段整数均相同时,则判断这两个十进制整数一致,则在预设二维数组第一维度的十进制数对应的第二维度的数值上加1。

本发明还提出一种电子装置。参照图2所示,为本发明一实施例提供的电子装置的内部结构示意图。

在本实施例中,电子装置1可以是pc(personalcomputer,个人电脑),也可以是智能手机、平板电脑、便携计算机等终端设备。该电子装置1至少包括存储器11、处理器12,网络接口13,以及通信总线。

其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是电子装置1的内部存储单元,例如该电子装置1的硬盘。存储器11在另一些实施例中也可以是电子装置1的外部存储设备,例如电子装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括电子装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于电子装置1的应用软件及各类数据,例如快速统计程序10的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行快速统计程序10等。

网络接口13可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该电子装置1与其他电子设备之间建立通信连接。

通信总线用于实现这些组件之间的连接通信。

可选地,该电子装置1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。

图2仅示出了具有组件11-13以及快速统计程序10的电子装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对电子装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

在图2所示的电子装置1实施例中,存储器11中存储有快速统计程序10;处理器12执行存储器11中存储的快速统计程序10时实现如下步骤:

转换步骤:根据预设算法将每一个目标数据转换为字符串,对所述字符串进行进制换算,得到一个十进制的整数序列。

所述文本数据包括但不限于文本、图像、视频,以下以文本举例说明。

本实施例的预设算法采用的是md5编码算法。该算法通过对文本数据进行md5编码,得到一个字符串,字符串为一个32位0-9-a-f的16进制字符。每个文本数据进行md5编码后生成的字符串是唯一的。例如,38b8c2c1093dd0fec383a9d9ac940515。然后,将32为的16进制的字符串进行十进制转换,变成一个整数。并生成文本数据对应的整数序列。

统计步骤:依次读取所述整数序列的每个十进制数,判断预设二维数组的第一维度中是否存在所述十进制数,若存在,则在所述第一维度的十进制数对应的第二维度的元素的数值上加1;若不存在,则将该十进制数增加到所述预设二维数组的第一维度中,并将新增的第一维度的十进制数对应的第二维度的数值赋值为1。

所述预设二维数组以key-value的形式存在,第一维度(key)表示各文本数据对应的十进制数,第二维度(value)表示各文本数据对应的十进制数的重复次数,第一维度的数据和第二维度的数据存在一一对应的关系。

在本实施例中,预设二维数组中有元素:d1{p1,q1},d2{p2,q2},d3{p3,q3}。当读取的当前十进制数为p1时,查询到二维数组中存在key为p1的元素d1,则对元素d1中的value值执行加1的操作,即q1+1,更新元素d1为{p1,q1+1}。当读取的当前十进制数为p4时,无法从二维数组中查询到key为p4的元素,则新增一个元素d4,元素d4的第一维度为p4,第二维度的数值赋值为1,即d4{p4,1},更新原来的二维数组。

统计完文本数据对应的整数序列后,得到文本数据对应的二维数组。通过对数组进行排序,有利于提高十进制数的查询效率。排序方法可以按照二维数组的第一维度十进制数的数值从小到大的顺序对二维数组进行排序。或者,按照二维数组中第二维度数据的数值从大到小的顺序对二维数组进行排序。

在另一实施例中,预设二维数组的第一维度为连续的预设范围内的整数值(例如,0-m),其中,m最大为32位十六进制的字符串对应的最大整数,二维数组中的第二维度的初始值均为0。例如,

d0{0,0}

d1{1,0}

d2{2,0}

d3{3,0}

dm{m,0}。

在后续步骤中,以25为例,每出现一次,则在十进制数“25”对应的第二维度的重复次数的值的基础上加1,第一次为“1”,再出现一次,则加1,即为“2”,依次类推,直至遍历完整数序列中的所有整数。

输出步骤:从所述二维数组中筛选出第二维度数值不为零的元素组成新的二维数组,将该新的二维数组发送给用户。

遍历上一实施例中得到的二维数组,除去第二维度重复次数为0的元素,剩下的元素组成新的二维数组,将新的二维数据转换为预设的格式,发送给用户。

为了加快后续查询速度,根据每个文本数据对应的字符串与字符串对应的十进制数生成映射关系,通过写一个辅助函数,将转换为字符串的文本数据转成十进制数,根据转换后的十进制数即可查询到文本数据对应的重复次数。例如:文本数据对应的字符为“a”,转换成十进制数为“10”,统计完成后“10”的重复次数是9次,那么每次查找“10”重复次数的时候,将文本数据对应的字符串“a”转换成“10”,即可查到“10”对应的重复次数为9。

在一实施例中,当整数序列中的十进制数的数量超过第一预设阈值时,按照预设分组规则对整数序列进行分组,采用多线程对每个分组的整数序列分别执行步骤s20,生成各个分组对应的二维数组子集合,对每个分组对应的二维数组子集合执行合并操作,生成所述整数序列对应的二维数组,从所述二维数组中筛选出第二维度数值不为零的元素组成新的二维数组,将该新的二维数组发送给用户。所述预设分组规则为:将整数序列分为m组,每组的十进制数的数量小于或等于第一预设阈值,其中,m为大于1的整数。在实际分组过程中,第一预设阈值及m可根据实际需求进行调整。

具体地,可以将整数序列分为两组,当存在两个二维数组的第一维度的十进制数一致时,将该两个二维数组合并为一个数组,第一维度的数值为相同的十进制数,第二维度的数值为两个二维数组对应的第二维度的数值之和。例如,在合并过程中,某一个二维数组中有元素{p1,q1},另一个二维数组中有元素{p1,q2},合并后的结果为{p1,q1+q2}。

该步骤的目的在于,当文本数据对应的整数序列的十进制数的数量过多时,从头到尾计算一次花的时间过长,因此,对该整数序列进行分组,例如,平均分为2组或者4组,对以上2组或者4组十进制数并行处理(采用多线程的方法),得到各十进制数对应的二维数组,然后将各十进制数对应的二维数组进行合并,得到最终的结果,减少了统计过程所需的时间,提高处理效率。

在另一实施例中,当整数序列中的十进制数位数超过第二预设阈值时,对该十进制数按照预设分段规则进行分段处理,所述预设分段规则为:将该十进制数划分为n段,第1段至第n-1段整数的位数等于第二预设阈值,第n段整数的位数小于或等于第二预设阈值,其中,n为大于1的整数。例如,当十进制数位数为100时,将十进制数分为4段,每段表示对应的25位数字(按照左到右的顺序)。

依次比对每一段整数,当判断两个十进制数对应的每段整数均相同时,则判断这两个十进制整数一致,则在预设二维数组第一维度的十进制数对应的第二维度的数值上加1。

可选地,在其他的实施例中,快速统计程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述快速统计程序在电子装置1中的执行过程。

例如,参照图3所示,为本发明提供的电子装置1一实施例中的快速统计程序的程序模块示意图,该实施例中,快速统计程序可以被分割为转换模块110、统计模块120、输出模块130,示例性地:

转换模块110,根据预设算法将每一个目标数据转换为字符串,对所述字符串进行进制换算,得到一个十进制的整数序列。

所述目标数据包括但不限于文本、图像、视频,以下以文本举例说明。

本实施例的预设算法采用的是md5编码算法。该算法通过对文本数据进行md5编码,得到一个字符串,字符串为一个32位0-9-a-f的16进制字符。每个文本数据进行md5编码后生成的字符串是唯一的。例如,38b8c2c1093dd0fec383a9d9ac940515。然后,将32为的16进制的字符串进行十进制转换,变成一个整数。并生成文本数据对应的整数序列。

统计模块120,依次读取所述整数序列的每个十进制数,判断预设二维数组的第一维度中是否存在所述十进制数,若存在,则在所述第一维度的十进制数对应的第二维度的元素的数值上加1;若不存在,则将该十进制数增加到所述预设二维数组的第一维度中,并将新增的第一维度的十进制数对应的第二维度的数值赋值为1。

所述预设二维数组以key-value的形式存在,第一维度(key)表示各文本数据对应的十进制数,第二维度(value)表示各文本数据对应的十进制数的重复次数,第一维度的数据和第二维度的数据存在一一对应的关系。

在本实施例中,预设二维数组中有元素:d1{p1,q1},d2{p2,q2},d3{p3,q3}。当读取的当前十进制数为p1时,查询到二维数组中存在key为p1的元素d1,则对元素d1中的value值执行加1的操作,即q1+1,更新元素d1为{p1,q1+1}。当读取的当前十进制数为p4时,无法从二维数组中查询到key为p4的元素,则新增一个元素d4,元素d4的第一维度为p4,第二维度的数值赋值为1,即d4{p4,1},更新原来的二维数组。

统计完文本数据对应的整数序列后,得到文本数据对应的二维数组。通过对数组进行排序,有利于提高十进制数的查询效率。排序方法可以按照二维数组的第一维度十进制数的数值从小到大的顺序对二维数组进行排序。或者,按照二维数组中第二维度数据的数值从大到小的顺序对二维数组进行排序。

在另一实施例中,预设二维数组的第一维度为连续的预设范围内的整数值(例如,0-m),其中,m最大为32位十六进制的字符串对应的最大整数,二维数组中的第二维度的初始值均为0。例如,

d0{0,0}

d1{1,0}

d2{2,0}

d3{3,0}

dm{m,0}。

在后续步骤中,以25为例,每出现一次,则在十进制数“25”对应的第二维度的重复次数的值的基础上加1,第一次为“1”,再出现一次,则加1,即为“2”,依次类推,直至遍历完整数序列中的所有整数。

输出模块130,从所述二维数组中筛选出第二维度数值不为零的元素组成新的二维数组,将该新的二维数组发送给用户。

遍历上一实施例中得到的二维数组,除去第二维度重复次数为0的元素,剩下的元素组成新的二维数组,将新的二维数据转换为预设的格式,发送给用户。

为了加快后续查询速度,根据每个文本数据对应的字符串与字符串对应的十进制数生成映射关系,通过写一个辅助函数,将转换为字符串的文本数据转成十进制数,根据转换后的十进制数即可查询到文本数据对应的重复次数。例如:文本数据对应的字符为“a”,转换成十进制数为“10”,统计完成后“10”的重复次数是9次,那么每次查找“10”重复次数的时候,将文本数据对应的字符串“a”转换成“10”,即可查到“10”对应的重复次数为9。

在一实施例中,当整数序列中的十进制数的数量超过第一预设阈值时,按照预设分组规则对整数序列进行分组,采用多线程对每个分组的整数序列分别执行步骤s20,生成各个分组对应的二维数组子集合,对每个分组对应的二维数组子集合执行合并操作,生成所述整数序列对应的二维数组,从所述二维数组中筛选出第二维度数值不为零的元素组成新的二维数组,将该新的二维数组发送给用户。所述预设分组规则为:将整数序列分为m组,每组的十进制数的数量小于或等于第一预设阈值,其中,m为大于1的整数。在实际分组过程中,第一预设阈值及m可根据实际需求进行调整。

具体地,可以将整数序列分为两组,当存在两个二维数组的第一维度的十进制数一致时,将该两个二维数组合并为一个数组,第一维度的数值为相同的十进制数,第二维度的数值为两个二维数组对应的第二维度的数值之和。例如,在合并过程中,某一个二维数组中有元素{p1,q1},另一个二维数组中有元素{p1,q2},合并后的结果为{p1,q1+q2}。

该步骤的目的在于,当文本数据对应的整数序列的十进制数的数量过多时,从头到尾计算一次花的时间过长,因此,对该整数序列进行分组,例如,平均分为2组或者4组,对以上2组或者4组十进制数并行处理(采用多线程的方法),得到各十进制数对应的二维数组,然后将各十进制数对应的二维数组进行合并,得到最终的结果,减少了统计过程所需的时间,提高处理效率。

在另一实施例中,当整数序列中的十进制数位数超过第二预设阈值时,对该十进制数按照预设分段规则进行分段处理,所述预设分段规则为:将该十进制数划分为n段,第1段至第n-1段整数的位数等于第二预设阈值,第n段整数的位数小于或等于第二预设阈值,其中,n为大于1的整数。例如,当十进制数位数为100时,将十进制数分为4段,每段表示对应的25位数字(按照左到右的顺序)。

依次比对每一段整数,当判断两个十进制数对应的每段整数均相同时,则判断这两个十进制整数一致,则在预设二维数组第一维度的十进制数对应的第二维度的数值上加1。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有快速统计程序,所述快速统计程序可被一个或多个处理器执行,以实现如下步骤:

转换步骤:根据预设算法将每一个目标数据转换为字符串,对所述字符串进行进制换算,得到一个十进制的整数序列;

统计步骤:依次读取所述整数序列的每个十进制数,判断预设二维数组的第一维度中是否存在所述十进制数,若存在,则在所述第一维度的十进制数对应的第二维度的元素的数值上加1;若不存在,则将该十进制数增加到所述预设二维数组的第一维度中,并将新增的第一维度的十进制数对应的第二维度的数值赋值为1;及

输出步骤:从所述二维数组中筛选出第二维度数值不为零的元素组成新的二维数组,将该新的二维数组发送给用户。

本发明存储介质具体实施方式与上述电子装置1和方法各实施例基本相同,在此不作累述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1