這與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) –