UWSN水下声学MAC协议仿真套件:含T-Lohi/FAMA/DOTS等15种协议NS-2实现与性能对比数据
2026/6/3 2:23:56
自底向上通过迭代计算斐波那契数的子问题并存储已计算的值,通过已计算的值进行计算。减少递归带来的重复计算。
算法:
Java 实现
class Solution { public int fib(int N) { if (N <= 1) { return N; } return memoize(N); } public int memoize(int N) { int[] cache = new int[N + 1]; cache[1] = 1; for (int i = 2; i <= N; i++) { cache[i] = cache[i-1] + cache[i-2]; } return cache[N]; } }Python 实现
class Solution: def fib(self, N: int) -> int: if N <= 1: return N return self.memoize(N) def memoize(self, N: int) -> {}: cache = {0: 0, 1: 1} # Since range is exclusive and we want to include N, we need to put N+1. for i in range(2, N+1): cache[i] = cache[i-1] + cache[i-2] return cache[N]