传送门
nowcoder
leetcode
题目描述
两个栈实现一个队列,完成队列的 Push 和 Pop 操作。
队列中的元素为 int 类型。
C++ 代码 - nowcoder
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
class Solution { public: int Fibonacci(int n) { if (n <= 1) return n; int f[n + 1]; f[0] = 0, f[1] = 1; for (int i = 2; i <= n; i ++) { f[i] = f[i - 1] + f[i - 2]; }
return f[n]; } };
class Solution { public: int Fibonacci(int n) { if (n <= 1) return n;
int first = 0, second = 1, third = 0; for (int i = 2; i <= n; i++) { third = first + second; first = second; second = third; } return third; } };
|
C++ 代码 - leetcode
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| class Solution { public: const int MOD = 1e9 + 7;
int fib(int n) { if (n <= 1) return n;
int f[n + 1]; f[0] = 0, f[1] = 1; for (int i = 2; i <= n; i ++) { f[i] = (f[i - 1] + f[i - 2]) % MOD; } return f[n]; } };
class Solution { public: const int MOD = 1e9 + 7;
int fib(int n) { if (n <= 1) return n;
int f0 = 0, f1 = 1, f2 = 0; for (int i = 2; i <= n; i ++) { f2 = (f1 + f0) % MOD; f0 = f1; f1 = f2; } return f2; } };
|