斐波那契的变形
func numWays(n int) int { var cache map[int]int cache = make(map[int]int) cache[0] = 1 cache[1] = 1 for i := 2; i <= n; i++ { cache[i] = (cache[i-1] + cache[i-2]) % 1000000007 } return cache[n] }