前两天面试遇到的一个题,当时没有想清楚,今天想了一下,po出来;

# -*-encoding:utf-8-*-
import sys end = 0 # 终点
cnt = 0 # 统计组合方式 def jump(start):
global cnt
for i in [1,2]:
cur = str(start)+"+"+str(i)
if eval(cur) >= end:
print cur
cnt += 1
continue
jump(cur) def main(n):
"""
一只青蛙一次可以跳1阶或者2阶,n阶,有多少种到达终点的方式。
"""
global end
end = n
jump(0)
print "count: "+str(cnt) if __name__ == "__main__":
main(int(sys.argv[1]))

D:\myGit\test>testFrog1.py 4
0+1+1+1+1
0+1+1+1+2
0+1+1+2
0+1+2+1
0+1+2+2
0+2+1+1
0+2+1+2
0+2+2
count: 8

D:\myGit\test>testFrog1.py 5
0+1+1+1+1+1
0+1+1+1+1+2
0+1+1+1+2
0+1+1+2+1
0+1+1+2+2
0+1+2+1+1
0+1+2+1+2
0+1+2+2
0+2+1+1+1
0+2+1+1+2
0+2+1+2
0+2+2+1
0+2+2+2
count: 13

这个题主要就是考算法-递归,当时没有想清楚乱写一通,还是自己有些紧张;

最新文章

  1. MySQL binlog中的事件类型
  2. [IOS]Swift 遍历预制的本地资源文件
  3. PHP上传文件示例
  4. 帝国cms栏目别名如何调用?
  5. 单例模式及C++实现
  6. Android基础_2 Activity线性布局和表格布局
  7. Openblas编译Android NDK库的步骤
  8. mysql死锁--源于外键关联
  9. 【转】Java基本数据类型
  10. A package manager for Qt
  11. 【Oracle】-【体系结构】-【DBWR】-DBWR进程相关理解
  12. Java中String做为synchronized同步锁使用详解
  13. ftp上传与下载文件
  14. cf1136E. Nastya Hasn't Written a Legend(二分 线段树)
  15. Mac 软件专题之:OS X Yosemite 精彩应用软件推荐
  16. MySQL插入更新_ON DUPLICATE KEY UPDATE
  17. 关于splice()方法,slice() 、split()方法讲解,reverse()方法、replace()方法
  18. sql中的in与not in,exists与not exists的区别
  19. MZOJ 1345 hero
  20. 全连接层(FC)与全局平均池化层(GAP)

热门文章

  1. python 环境变量的配置
  2. MyBatis注解开发-@Insert和@InsertProvider(@Select、@SelectProvider雷同)
  3. Integer之常用方法
  4. express上传图片
  5. PHP基础知识总结(三) 流程控制、函数、类对象和数据库
  6. 有关JWT(Json Web Token)的那些事
  7. NIO模型学习笔记
  8. ()C#打印机
  9. 用php写爬虫去爬数据
  10. 使用LoadRunner监控Apache