Skip to content

Commit 4c22a69

Browse files
Handle negative input in fibonacci implementation
1 parent 569e554 commit 4c22a69

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

Dynamic-Programming/FibonacciNumber.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,18 @@
77
*/
88
const fibonacci = (N) => {
99
if (!Number.isInteger(N)) {
10-
throw new TypeError('Input should be integer')
10+
throw new TypeError('Input should be an integer')
11+
}
12+
13+
if (N < 0) {
14+
throw new RangeError('Input should be a non-negative integer')
1115
}
1216

13-
// memoize the last two numbers
1417
let firstNumber = 0
1518
let secondNumber = 1
1619

1720
for (let i = 1; i < N; i++) {
1821
const sumOfNumbers = firstNumber + secondNumber
19-
// update last two numbers
2022
firstNumber = secondNumber
2123
secondNumber = sumOfNumbers
2224
}

0 commit comments

Comments
 (0)