我想创建一个nom重复的已排序列表

问题描述 投票:-13回答:1

我需要创建一个包含数十亿个元素的排序列表,然后创建第二个列表,其中没有重复元素,其中包含第一个列表中每个元素的第一个字母以及第一个列表中此元素的位置。例如:“Alfa”,“Bravo”,“Big”,“Bang”,“Charlie”==>第二个清单:“A”,1,“B”,2,“C”,5

python list linked-list vb6 sortedlist
1个回答
0
投票

目前还不清楚你是否需要保留第一种排序的结果,然后生成第二个列表,以及为什么在这个问题上有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这真的是学校/课程,作业,对吗?特技是找到那些优化。 ;)

© www.soinside.com 2019 - 2024. All rights reserved.