gpt4 book ai didi

c# - 找到算法的解决方案

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:02:44 24 4
gpt4 key购买 nike

我在 C# 中有一个 List<> 包含多个对象,例如 100。我需要连续选择一些对象而不重复。例如,我选择对象 4,然后随机选择随机数量的连续对象(对象 5 和 6)。当我想选择另一个集合时,它不应该包含对象 4、5 和 6。如果我从列表中删除这些对象,那么有时我会收到无用的对象 2、3、7、8。换句话说,我需要主列表中的一些子列表,没有重复的对象,并且与主列表的顺序相同。我想知道是否有人帮我解决这个算法。

最佳答案

您可以将对象存储在字典中,这样您就可以为每个对象保留额外的信息,在您的情况下是一个 bool 值,告诉您您的对象是否已被选中,类似这样的信息:

//initializing the dictionary, any item has been selecte
Dictionary<object,bool> dic = list.ToDictionary(e => e, e => false);

并且任何时候您选择一个项目,您都会将 bool 值更改为 true :

dic[selectedObject] = true;

当您尝试从字典中选择一个新项目时,您只需跳过具有 true 值的键/值对。

关于c# - 找到算法的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14587633/

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