gpt4 book ai didi

java - 在for循环中添加条件

转载 作者:行者123 更新时间:2023-12-01 09:01:52 24 4
gpt4 key购买 nike

我正在为java做一些codingbat挑战。在一项挑战中,如果给定数组的前 2 个或最后 2 个元素中包含 1 后跟 3,则返回 true。

示例:

unlucky1([1, 3, 4, 5]) → true
unlucky1([2, 1, 3, 4, 5]) → true
unlucky1([1, 1, 1]) → false

因此,我有以下内容:

for(int i=0, j=nums.length-1; i<nums.length-1; i++, j--) {
if((i<3&&nums[i]==1&&nums[i+1]==3)) {
return true;
}
else if(j>3&&nums[j]==3&&nums[j-1]==1) {
return true;
}
}
return false;

我的问题是,有没有更好的方法来设置条件?我不喜欢检查迭代变量是否小于/大于常量的想法。我的代码通过了他们的所有测试,除了一个,但是我觉得它有缺陷/困惑。如何有效地检查最后两个和前两个索引是否有 1 后跟 3,而不检查是否 j>3i<3

它未通过的测试是使用以下数组:[1, 1, 1, 3, 1]当测试被认为是错误时,我的代码返回 true。

最佳答案

不要使用任何循环,根据 shmosels 评论进行编辑

if (arr[0] == 1 && arr[1] == 3 ||
arr[1] == 1 && arr[2] == 3 ||
arr [arr.length -2] == 1 && arr[arr.length - 1] == 3)
return true;

关于java - 在for循环中添加条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41604099/

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