n阶台阶问题,每次可以走1步或2步,打印所有可行结果


func callPrintSteps(n int)  {
    printStepChoices(make([]int,0),n)
}

func printStepChoices(pre []int, n int) {
    if n < 1 {
        fmt.Println(pre)
        return
    }
    if n >= 2 {
        printStepChoices( append(pre, 2),n-2)
    }
    printStepChoices( append(pre, 1),n-1)
 }

如果变成“青蛙跳台阶”,每次条1,2...n个台阶,打印所有可能走法:


func jumpNStepOneTime(pre []int,n int) {
    if n < 1 {
        fmt.Println(pre)
        return
    }
    for i:=n;i>0;i--{
        jumpNStepOneTime(append(pre,i), n-i)
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。