gpt4 book ai didi

java - 查找数组中三个不相邻的元素

转载 作者:行者123 更新时间:2023-12-03 01:38:00 25 4
gpt4 key购买 nike

这是我必须回答的问题-

Given an array of ints, return true if the value 3 appears in the array exactly 3 times, and no 3's are next to each other.

haveThree({3, 1, 3, 1, 3}) → true
haveThree({3, 1, 3, 3}) → false
haveThree({3, 4, 3, 3, 4}) → false

这是我的解决方案:

public boolean haveThree(int[] nums) {
int count = 0;
for (int i=0;i<nums.length-1;i++) {
if (nums[i] == 3 && nums[i+1] ==3) {
return false;
}
else
if ((nums[i]==3 && nums[i+1]!=3)||(nums[i]==3 && nums[i+1]!=3)) {
count ++;
}
}
return count ==3;
}

某些测试失败。例如 {3,1,3,1,3} 应该返回 true;但是,返回了 false,我不明白为什么。

最佳答案

您需要一直循环到nums.length来计算所有出现的次数。此外,不需要 else 语句。我会做类似的事情:

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

关于java - 查找数组中三个不相邻的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20529935/

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