编写一个名为mySplit的函数,该函数接受int数组,并调用递归引用函数。函数MySplit应该检查数组中的数字是否可以分为2组,
>
不要忽略或添加第一个数组中的数字
所有5的倍数必须在同一组中。
所有3的重复数(而不是5的倍数)必须在第二组中。
我开始写代码,但我正在寻找一些不同的想法。所有内容都应该写在递归函数中,布尔函数应该只返回true或false
示例:
mySplit ([1, 1]) → true
mySplit ([1, 1, 1]) → false
mySplit ([2, 4, 2]) → true
mySplit ([5, 21, 8, 15, 7]) → true
mySplit ([15, 10, 5]) → false
mySplit ([15, 8, 7]) → true
我的代码:
public static boolean mySplit(int[] nums)
{
int []arr1=null;
int []arr2 = null;
int index_1=0;int index_2=0;
for (int i = 0; i < nums.length; i++)
{
if(nums[i]%5==0)
{
arr1[index_1]+=nums[i];
index_1++;
}
if(nums[i]%3==0 && (!(nums[i]%5==0)))
{
arr2[index_2]=nums[i];
index_2++;
}
}
}
public static int myRecur(int[] nums,int[] nums1,int quelbdika)
{
if(quelbdika>4)
return 0;
boolean flag=true;
if(quelbdika==1)
{
int somm1=0,somm2=0;
for (int i = 0; i < nums1.length; i++)
{
somm2+=nums1[i];
}
for (int i = 0; i < nums.length; i++)
{
somm1+=nums[i];
}
if(somm1!=somm2)
flag=false;
}
if(flag)
return 1+myRecur(nums,nums1,quelbdika+1);
else {
return 0+myRecur(nums,nums1,quelbdika+1);
}
}
}
这里有一个递归的方法来看待这个函数。
遵循上述方法应该可以让您递归地解决这个问题。
问题 你想在一个函数中调用相同的函数。 解决方案 使用一个命名函数: ping = -> console.log "Pinged" setTimeout ping, 1000 若为未命名函数,则使用 @arguments.callee@: delay = 1000 setTimeout((-> console.log "Pinged" setTimeout arg
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出: fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n 所以,fact(n)可以表示为n x fact(n-1),
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出: fact(n)=n!=1\times2\times3\times\cdot\cdot\cdot\times(n-1)\times n=(n-1)!\times n=fact(n-1)\times n
表T表示树。每个记录都是一个节点,每个节点只有一个父节点。 该查询计算每个节点的每个分支的SUM()。 我一直在尝试使用替代的子查询分解语法来实现这个查询的相同结果。任何帮助都将不胜感激!
我正在处理一个递归二分法/算法。我已经把我的递归放在else/else if语句中,不知道我是否错了。它也返回正确的根,而没有递归,但主要问题是用递归。
本文向大家介绍C++ 中二分查找递归非递归实现并分析,包括了C++ 中二分查找递归非递归实现并分析的使用技巧和注意事项,需要的朋友参考一下 C++ 中二分查找递归非递归实现并分析 二分查找在有序数列的查找过程中算法复杂度低,并且效率很高。因此较为受我们追捧。其实二分查找算法,是一个很经典的算法。但是呢,又容易写错。因为总是考虑不全边界问题。 用非递归简单分析一下,在编写过程中,如果编写的是以下的代