gpt4 book ai didi

java - 在序列中查找缺失数字的逻辑是什么?

转载 作者:行者123 更新时间:2023-11-29 03:23:50 27 4
gpt4 key购买 nike

我正在尝试编写一个简单的算法来识别 ArrayList 整数中第一个缺失的实数。我在编写逻辑时遇到困难。观察我的代码片段:

// suppose sequence is a valid sorted ArrayList

int match = 0;
int first = sequence.get(0); // sets the first value in seq. to var
int size = sequence.size(); // sets the seq size to var
for (int i = 0; i < size; i++)
{
if (i != sequence.get(i) && i > first)
match = i; // it is not in the sequence
}
System.out.println(match + " is not in the sequence.");

如果序列是 4, 5, 8, 9 我希望 match6。相反,我得到了一个 0。帮忙?

最佳答案

这是因为您的if 条件要求sequence.get(i) 等于i。相反,它应该是 first + i,并且需要删除条件的第二部分:

if ((first + i) != sequence.get(i)) {
match = (first + i);
break;
}

Demo on ideone.

关于java - 在序列中查找缺失数字的逻辑是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22123706/

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