gpt4 book ai didi

c# - 数组中的所有元素是否满足由另一个字符串数组确定的特定条件

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:32:39 28 4
gpt4 key购买 nike

对不起标题,但我不知道如何简要解释我需要做什么。

我有这个预定义数组:

string[] SkippedAreasArray = new string[] {"A", "B", "C", "D", "E", "F", "G",
"H", "I", "J", "K", "L", "M", "N", "O", "P", "Q"};

我们可以称每个字母为区域。我们有一个变量NumberOfAreas,它保存一个从0(null)到17的整数值。这个值的含义是这样的。如果 NumberOfAreas = 5 那么我们有字符串 "A", "B", "C", "D", "E"。如果 NumberOfAreas = 3 那么我们有 "A"、"B"、"C" 等等。该字符串始终以 "A" 开头并遵循字母顺序。

用户输入是所谓的 SkippedAreas 数组。它可以包含随机字母,这些字母不能重复并且在 A-Q 范围内。

想法是什么 - 如果我们有 SkippedAreas 数组 = "A", "C"NumberOfAreas = 5 或 “A”、“B”、“C”、“D”、“E” 那么我们必须通过跳过字母 “A”来保持 NumberOfAreas 等于 5 "C" 并添加接下来的两个字母,使 NumberOfAreas 变为 - "B"、"D"、"E"、"F ", "G".

我们只能跳过已经在 NumerOfAreas 范围内的字母(区域),例如,如果我们在 NumerOfAreas = 5 时得到基本示例并且字符串是“A”、“B”、“C”、“D”、“E” 我们只能跳过这 5 个字母之一的字母。但是,通过跳过任何字母,我们可以打开对行中下一个字母的访问,因此如果我们第一次跳过 "A",我们可以在下一轮中自由使用 "F",并且如果 "F" 是用户输入字符串 SkippedAreas 的一部分,那么跳过 "F" 并打开 "G"< 是合法的

我需要一种能够验证用户输入的算法。

最佳答案

使用 LINQ

var FilteredAreas = 
ListOfAreas.Where(a => !SkippedAreas.Contains(a)).Take(NumberOfAreas);

关于c# - 数组中的所有元素是否满足由另一个字符串数组确定的特定条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15749935/

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