gpt4 book ai didi

java - 只有两个参数的递归 isMember 方法!

转载 作者:行者123 更新时间:2023-12-02 08:16:26 25 4
gpt4 key购买 nike

我需要创建一个名为 isMemeber 的递归 boolean 方法。该方法应该只接受两个参数:一个数组和一个值。如果在数组中找到该值,该方法应返回 true;如果在数组中未找到该值,则该方法应返回 false。

我认为基本情况是如果传递的数组为空,但我需要有关递归情况的帮助:

public static boolean isMember(int[] array, int value)
{
if(array.length==0){
return false;
}else{
return isMember(???);
}
}

这是位置变量的样子:

public static boolean isMember(int[] array, int value, int position)
{
if (position > -1)
{

if (array[position] == value)
{
return true;
}
else
{
return isMember(array, value, position - 1);
}
}
return false;

}

最佳答案

如果您需要使用递归,您可以在每次递归时复制数组。这是低效的,但与使用循环相比,使用递归效率低下。例如Arrays.indexOf()

public static boolean isMember(int[] array, int value) {
if(array.length == 0) return false;
if(array[0] == value) return true;
int[] array2 = new int[array.length-1];
System.arraycopy(array,1,array2,0,array2.length);
return isMember(array2, value);
}

关于java - 只有两个参数的递归 isMember 方法!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6315710/

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