我想创建一个nom重复的已排序列表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我想创建一个nom重复的已排序列表相关的知识,希望对你有一定的参考价值。
我需要创建一个包含数十亿个元素的排序列表,然后创建第二个列表,其中没有重复元素,其中包含第一个列表中每个元素的第一个字母以及第一个列表中此元素的位置。例如:“Alfa”,“Bravo”,“Big”,“Bang”,“Charlie”==>第二个清单:“A”,1,“B”,2,“C”,5
答案
目前还不清楚你是否需要保留第一种排序的结果,然后生成第二个列表,以及为什么在这个问题上有VB6和Python标签。
如果您认为最终结果需要临时数组,那么您错了!
只需迭代元素列表,最好是以批量方式(你加载一些元素,处理然后“卸载”/从内存中释放它们)。从每个元素只取第一个字母。如果此字母尚未出现在输出数组中,则使用count 1
添加它。如果已经在其中,请增加它的计数器。
所以对于"Alfa","Charlie", "Big", "Bravo","Bang"
你会得到:A => 1, C => 1, B => 3"
然后按键排序。 A => 1, B => 3, C => 1"
然后,重要的是,将每个前一个计数器添加到下一个计数器:A => 1, B => 3+1, C => 1+3+1"
你得到你的输出。
PS这真的是学校/课程,作业,对吗?特技是找到那些优化。 ;)
以上是关于我想创建一个nom重复的已排序列表的主要内容,如果未能解决你的问题,请参考以下文章