A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 1352107393 中级黑马   /  2015-4-22 19:17  /  917 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Fibonacci数列:1,1,2,3,5,8,13……
           要求:找出数列中指定index位置的数值
实现:
  public static void main(String[] args) {
               
                System.out.println(fab(5));
        }
         public static int fab(int index) {  
                if (index == 1 || index == 2) {  
                    return 1;  
                } else {
                    return fab(index - 1) + fab(index - 2);  
                }  
         }

4 个回复

倒序浏览
嗯嗯,想法是好的,我之前第一想法也是想到递归,但结果是算大数这算法必须溢栈
回复 使用道具 举报
我就路过,就看看
回复 使用道具 举报
JarryHorse 发表于 2015-4-22 20:59
嗯嗯,想法是好的,我之前第一想法也是想到递归,但结果是算大数这算法必须溢栈 ...

这题用递归必须加memoization,否则效率很低
回复 使用道具 举报
学习另一种思想
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马