LintCode 查找斐波纳契数列中第 N 个数
来源:互联网 发布:python splinter 编辑:程序博客网 时间:2024/06/05 14:09
所谓的斐波纳契数列是指:
- 前2个数是 0 和 1 。
- 第 i 个数是第 i-1 个数和第i-2 个数的和。
斐波纳契数列的前10个数字是:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...
给定 1
,返回 0
给定 2
,返回 1
给定 10
,返回 34
题目就是斐波那契数算法的变形。关于斐波那契数,首先想到递归
class Solution{public: /** * @param n: an integer * @return an integer f(n) */ int fibonacci(int n) { // write your code here if ( n == 1 ) { return 0; } else if ( n == 2 || n == 3 ) { return 1; } /*else { return fibonacci(n-1) + fibonacci(n-2); }};
但是递归太耗费时间,结果超时。
再换成非递归形式
<pre name="code" class="cpp">class Solution{public: /** * @param n: an integer * @return an integer f(n) */ int fibonacci(int n) { // write your code here if ( n == 1 ) { return 0; } else if ( n == 2 || n == 3 ) { return 1; } int s1 = 1; int s2 = 1; int i = 4; int sum = 0; while (i <= n) { sum = s1 + s2; s1 = s2; s2 = sum; i++; } return sum; }};
0 0
- LintCode 查找斐波纳契数列中第 N 个数
- 查找斐波纳契数列中第 N 个数。
- 查找斐波纳契数列中第N个数
- 查找斐波纳契数列中第 N 个数
- 查找斐波纳契数列中第 N 个数
- 算法之路(三)----查找斐波纳契数列中第 N 个数
- 【LintCode】查找斐波那契数列中的N个数
- 查找第n个数
- 查找N个数中第K大的数
- 查找N个数中第K大的数
- 找出两个含有相同元素个数的递增数列中第n小的数
- LintCode-第366题 斐波纳契数列
- 求斐波那契数列的第n个数
- 斐波那契数列第n个数
- 求斐波那契数列的第n个数
- 求斐波那契数列的第N个数的值
- 求解斐波那契数列的第n个数
- Fibonacci数列第n个数除以10007的余数
- Surface Shader
- Centos7下搭建LAMP平台环境
- C++第二次作业
- Spinner使用方法
- iOS 去掉导航栏的边界黑线&去掉搜索框的边界黑线和其中文本输入框的阴影 - 解决方案
- LintCode 查找斐波纳契数列中第 N 个数
- Linux常用命令
- 修改Host文件,让你的Google跑起来 2016 Google hosts(2016-2-29更新hosts文件)
- 【LeetCode】6.ZigZag Conversion N型排列问题
- Xcode7 使用NSURLSession发送HTTP请求的问题
- 将 Shiro 作为应用的权限基础 四:shiro的配置说明
- 我参与的项目
- Axure 安装及使用心得
- iOS小demo之获取文字高度