上台阶问题是剑指offer中的一个原题,然而剑指offer中并没有要求输出路径,而我看到有人在面试的时候被要求给出路径,于是我找了一下相关的解法:
public class Main {
private static int total=0;
public static void main(String[] args) {
int stairNum = 5;
int maxStep = 2;
int[] hasJumped = new int[stairNum];
jumpStair(hasJumped,0,maxStep,maxStep,stairNum);
System.out.println("递归方式统计总次数:"+total);
System.out.println(" 斐波那契(Fibonacci)数列逻辑方式统计总次数:"+jumpStairCount(stairNum));
}
/**
* 跳台阶
* @param hasJumped 已经跳过的台阶路径
* @param currentStair 当前所在的台阶编号
* @param jumpStep 跳跃的台阶数
* @param maxStep 青蛙能跳的最大台阶数
* @param stairNum 台阶总数
*/
public static void jumpStair(int[] hasJumped, int currentStair, int jumpStep, int maxStep,int stairNum){
if (currentStair > stairNum) {
return;
}