跳至内容
Python 俱乐部
用户工具
登录
站点工具
搜索
工具
显示页面
修订记录
反向链接
最近更改
媒体管理器
网站地图
登录
>
最近更改
媒体管理器
网站地图
您的足迹:
google:job:array
本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。
====== Google数组算法面试题 ====== ===== 题目 ===== T( 0 ) = 1 ; T(1)=1;T(2)=2;T(n)=T(n-1)+T(n-2)+T(n-3); 用最优方式求T(n) ; int T(int n) { } 可以用最熟悉的语言写,不考虑溢出情况 ===== 解答 ===== ==== 解答一 ==== 给出一个Python的非递归解答 <code python> #! /bin/python def t(n, T=[0,1,2]): print T if len(T) > n: return T[n] else: for i in range(3,n+1): T.append(T[-1]+T[-2]+T[-3]) return T[n] if __name__ == "__main__": print t(50); print t(5); </code> ==== 解答二 ==== <code python> def t(n): def t_iter(r, n): return r if n == 1 else t_iter([r[1], r[2], r[0] + r[1] + r[2]], n-1) return t_iter([0, 1, 2], n) </code>
google/job/array.txt
· 最后更改: 2012/01/18 07:40 (外部编辑)
页面工具
显示页面
修订记录
反向链接
回到顶部