gpt4 book ai didi

algorithm - 如何计算列表中的唯一项?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:25:51 26 4
gpt4 key购买 nike

有人会如何计算列表中唯一项目的数量?

例如,假设我有 {1, 3, 3, 4, 1, 3},我想得到数字 3,它代表列表中唯一项目的数量(即 |A|=3 if A={ 1、3、4})。有人会为此使用什么算法?

我尝试了一个双循环:

for firstItem to lastItem
currentItem=a
for currentItem to lastItem
currentItem=b
if a==b then numberOfDublicates++
uniqueItems=numberOfItems-numberOfDublicates

这不起作用,因为它计算重复项的次数比实际需要的次数多。对于开头的示例,它将是:

  1. 对于第一个循环,它将为列表中的数字 1 计算 +1 个重复项。
  2. 对于第二个循环,它将为列表中的数字 3 计算 +2 个重复项。
  3. 对于第三个循环,它会再次计算数字 3 的 +1 个重复项(超过最后一个“3”)和这就是问题所在。

关于如何解决这个问题有什么想法吗?

最佳答案

将项目添加到 HashSet,完成后检查 HashSet 的大小。
假设您有一个很好的哈希函数,这是 O(n)

关于algorithm - 如何计算列表中的唯一项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5299792/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com