gpt4 book ai didi

c# - 查找数组中缺失的元素

转载 作者:行者123 更新时间:2023-11-30 22:57:47 25 4
gpt4 key购买 nike

我有一个由英文字母 a 到 z 组成的数组,除了一个字母。我不知道缺少哪个元素,我需要只使用一个循环来找到那个元素。我不能使用 if 语句和内置函数。

真的可以吗?我在考试中遇到了这个问题,但找不到任何解决方案,它正在吞噬我的大脑。任何见解表示赞赏。

// missing 'h'
var letters = ['a','b','c','d','e','f','g','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'];

for (var i = 0; i < letters.length; i++) {
// find missing letter in 1 loop with no if statements or built-in functions
}

最佳答案

代码如下:

             char[] inputs = { 'a', 'b', 'c', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };

int total = 0;
foreach (char c in inputs)
{
total += (int)c - (int)'a';
}
char missingChar = (char)((int)('a') + (325 - total));

// version 2
total = 0;
//from sum of a arithmetic sequence for even number of values
// for example 1 + 2 + 3 + 4 = (1 + 4) + (2 + 3) = 2 * 5 = 10
int expectedTotal = 13 * ((int)'a' + (int)'z');
foreach (char c in inputs)
{
total += (int)c;
}
missingChar = (char)((expectedTotal - total));

关于c# - 查找数组中缺失的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53417551/

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