輸出青蛙跳台所有路徑

2021-10-05 07:41:40 字數 1220 閱讀 7426

常見的一道演算法題:

乙隻青蛙一次可以跳上1級台階,也可以跳上2級台階。求該青蛙跳上乙個 n 級的台階總共有多少種跳法。

解法我想很多人一想應該就知道,可以遞迴的思路,動態規劃的思路等,**如下,重點不在這裡,不在詳述:

//遞迴

public static int frogjumps_1(int n)

//帶備忘錄的遞迴

public static int frogjumps_2(int n)

private static int helper(int n, int memo)

//dp,貌似也算不上dp問題,沒有求最值

public static int frogjumps_3(int n)

}//列印出二叉數所有路徑

printmultitree(dp[n], n);

return dp[n].val;

}private static void printmultitree(node1 root, int n)

private static void printmultipath(node1 node, int path, int n, int pos) else

public static int frogjumps_1(int n)

public static int frogjumps_2(int n)

private static int helper(int n, int memo)

public static int frogjumps_3(int n)

}//列印出二叉數所有路徑

printmultitree(dp[n], n);

return dp[n].val;

}private static void printmultitree(node1 root, int n)

private static void printmultipath(node1 node, int path, int n, int pos) else ;

backtrack(nums, n, res);

}//跳任意步

private static void frogjumps_7(int n)

if(n<0)

return;

for(int i=0; i}

青蛙跳台問題

1 乙隻青蛙一次可以跳上 1 級台階,也可以跳上2 級。求該青蛙跳上乙個n 級的台階總共有多少種跳法。分析 要麼從倒數第二階跳上去,要麼從倒數第三階跳上去.2 乙隻青蛙一次可以跳上1級台階,也可以跳上2 級 它也可以跳上n 級,此時該青蛙跳上乙個n級的台階總共有多少種跳法?用fib n 表示青蛙跳上...

青蛙跳台階

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。解題思路 1 如果兩種跳法,1階或者2階,那麼假定第一次跳的是一階,那麼剩下的是n 1個台階,跳法是f n 1 2 假定第一次跳的是2階,那麼剩下的是n 2個台階,跳法是f n 2 3 總跳法為 f n f n...

青蛙跳台階

之前面試遇到了這種題目,不會,後來搜尋了一下,感覺分析的很好 青蛙跳乙個n階的台階,每次可以跳1階或者2階,求跳完n階y有多少種方法。分析 n 1,f n 1 n 2,f n 2 n 3,f n 3 n 4,f n 5 可以發現 f n f n 1 f n 2 由此也可以推想 比如要跳到第4階樓梯上...