LintCode336斐波那契数列的解析

来源:互联网 发布:安装对联打印机软件 编辑:程序博客网 时间:2024/04/28 02:42

今天算是我正式想要入坑oj的第一天,之前只是一年半前在hdoj上面刷过几道水题,然后就因为各种懒拖烦,将算法和数据结构落下了

今年大二暑假,感觉有点方了,只学过javaweb,能做一些小型的小项目而已,编码能力并没有多厉害,我想,这个暑假将是决定我将来是否能够继续走编程开发这一条路的关键,

我已经错失了太多,大一搞学生会和同乡会当班长什么的我没有太关注学习和技术发展,大二又在狂补大一欠下的债,这样算来,我是落后别人差不多两年,

有点搞笑,我高一高二没有读书,也是落后别人两年然后高三一年恶补后来考上了一个重本大学,现如今,我看我是要重蹈覆辙了,似乎有点跑题了

今天逛了几大oj,最后选择了LintCode和LeetCode,因为英文能力有限就选择了前者,

我先试水了最简单的那道,结果脸好痛

一直在那里担心什么风格检测有不通过的就是没有关注提交代码这一块,真是坑了自己

后来还是忍不住百度了一下,才发现我没有先说明n=1,n=2和n=3,真是低级错误呀,后来重新添加,完美ac了

以下是源码:



  1. int fibonacci(int n) {  
  2.         // write your code here  
  3.         if ( n == 1 ) {  
  4.             return 0;  
  5.         } else if ( n == 2 || n == 3 ) {  
  6.             return 1;  
  7.         }   
  8.         int a = 1;  
  9.         int b = 1;  
  10.         int i = 4;  
  11.         int sum = 0;  
  12.         while (i <= n) {  
  13.             sum = a + b;  
  14.             a = b;  
  15.             b = sum;  
  16.             i++;  
  17.         }  
  18.         return sum;  
  19.     } 

0 0