这与HackerRank算法问题'Kangaroo'有关。函数返回undefined。为什么?
这里是我的代码:
function kangaroo(x1, v1, x2, v2) {
// Complete this function
if(x2>x1 && v2>v1)return "NO";
if(x1>x2 && v1>v2)return "NO";
if(x1 == x2){
return "YES";
}else{
kangaroo(x1+v1,v1,x2+v2,v2);
}
}
var result = kangaroo(0,3,4,2);
console.log(result);
这就是问题所在:
上有许多行准备在正方向跳2只袋鼠(即,朝着正无穷大)。第一只袋鼠从地点开始,以每跳跳米数的速度移动。第二只袋鼠从地点开始,以每次跳跃米数的速度移动。考虑到每只袋鼠的起始位置和移动速度,你能否确定它们是否会同时登陆同一地点?
x1为袋鼠的起点1
V1-是袋鼠的速度1.
X2是袋鼠2.
V2的起点是速度袋鼠2.
我的代码返回undefined
,为什么?
'回报袋鼠(X1 + V1,V1,X2 + V2,V2)'你不返回递归调用 –
[递归函数的可能重复的结果返回undefined](https://stackoverflow.com/questions/12737970/recursive-function-returns-undefined) –