java递归方法计算数组中不同数量的元素
假设我有一个数组:ARR={5,7,3,3,7,5} 我还有大小(=在这个例子中为6),所以递归函数应该返回3
这是函数/方法的声明:
int f(arr, size);
我试过这个东西:
count = 0;
if(size == 1)
return 1;
if(x[i] != f(arr, size-1)
count++;
return count;
但它不起作用,因为f(arr,size-1)不能遍历数组的所有元素并进行比较
希望你们能帮忙
# 1 楼答案
这里有一种方法:
基本上,逻辑是这样的:
size
表示我们实际关心的arr
中的前N个元素李>size
小于2,我们知道不可能有任何重复项,所以返回0李>array[size - 1]
,而“其余”表示用size - 1
调用函数。)李>elem
,然后检查其余元素是否包含elem
)李>