剑指-46 把数字翻译成字符串
题目地址思路把数据变成字符数组处理(这里也可以做取余操作处理)核心思路近似斐波那契数列,当前字符c下标设为k的组合情况,取决于之前k-1,k-2的字符组合情况。这里和一般的斐波那契的不同在于f(n-2)是否可以和f(n-1)组成10~25之间的数,如果可以那么f(n)=f(n-1)+f(n-2)否则
题目地址思路把数据变成字符数组处理(这里也可以做取余操作处理)核心思路近似斐波那契数列,当前字符c下标设为k的组合情况,取决于之前k-1,k-2的字符组合情况。这里和一般的斐波那契的不同在于f(n-2)是否可以和f(n-1)组成10~25之间的数,如果可以那么f(n)=f(n-1)+f(n-2)否则
以前看这道题感觉都不会(没看过题解),现在遇到直接就会解了,看来写写题目还是有用的: )思路正向的想法是根据只有1个台阶/2个台阶/3个台阶来递推...但是这样会很麻烦逆向的思维是考虑如果现在已经是n阶台阶了,那么上一步只有两种可能,n-1阶或者n-2阶(因为青蛙只能跳1阶或者2阶),因此把这两种可
思路根据出名的斐波那契公式实现 F(n) = F(n-1) + F(n-2)递归调用该题会超时,使用map存储计算结果会浪费空间class Solution { public int fib(int n) { if (n < 2) return n;// 使用三个变量记录f