Skip to content

Commit

Permalink
New Problem C++ Solution - "Fibonacci Number"
Browse files Browse the repository at this point in the history
  • Loading branch information
haoel committed Mar 26, 2019
1 parent e381e32 commit 7d61861
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 1 deletion.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ LeetCode
|532|[K-diff Pairs in an Array](https://leetcode.com/problems/k-diff-pairs-in-an-array/) | [Python](./algorithms/python/K-diffPairsInAnArray/findPairs.py)|Easy|
|520|[Detect Capital](https://leetcode.com/problems/detect-capital/) | [C++](./algorithms/cpp/detectCapital/DetectCapital.cpp)|Easy|
|518|[Coin Change 2](https://leetcode.com/problems/coin-change-2/) | [C++](./algorithms/cpp/coinChange/CoinChange2.cpp)|Medium|
|509|[Fibonacci Number](https://leetcode.com/problems/fibonacci-number/) | [Python](./algorithms/python/FibonacciNumber/fib.py)|Easy|
|509|[Fibonacci Number](https://leetcode.com/problems/fibonacci-number/) | [C++](./algorithms/cpp/fibonacciNumber/FibonacciNumber.cpp), [Python](./algorithms/python/FibonacciNumber/fib.py)|Easy|
|477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium|
|463|[Island Perimeter](https://leetcode.com/problems/island-perimeter/) | [C++](./algorithms/cpp/islandPerimeter/IslandPerimeter.cpp)|Easy|
|450|[DeleteNodeInABST](https://leetcode.com/problems/delete-node-in-a-bst/) | [Python](./algorithms/python/DeleteNodeInABST/deleteNode.py)|Medium|
Expand Down
50 changes: 50 additions & 0 deletions algorithms/cpp/fibonacciNumber/FibonacciNumber.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
// Source : https://leetcode.com/problems/fibonacci-number/
// Author : Hao Chen
// Date : 2019-03-26

/*****************************************************************************************************
*
* The Fibonacci numbers, commonly denoted F(n) form a sequence, called the Fibonacci sequence, such
* that each number is the sum of the two preceding ones, starting from 0 and 1. That is,
*
* F(0) = 0, F(1) = 1
* F(N) = F(N - 1) + F(N - 2), for N > 1.
*
* Given N, calculate F(N).
*
* Example 1:
*
* Input: 2
* Output: 1
* Explanation: F(2) = F(1) + F(0) = 1 + 0 = 1.
*
* Example 2:
*
* Input: 3
* Output: 2
* Explanation: F(3) = F(2) + F(1) = 1 + 1 = 2.
*
* Example 3:
*
* Input: 4
* Output: 3
* Explanation: F(4) = F(3) + F(2) = 2 + 1 = 3.
*
* Note:
*
* 0 ≤ N ≤ 30.
******************************************************************************************************/

class Solution {
public:
int fib(int N) {
if (N < 2 ) return N;
int first = 0, second = 1;

for ( N-=1; N > 0; N-- ) {
second += first;
first = second - first;
}
return second;
}
};

0 comments on commit 7d61861

Please sign in to comment.