东寻

导航

2020年2月16日 #

leetcode| 94. 二叉树的中序遍历

摘要: 给定一个二叉树,返回它的中序遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 栈。 思路 时间复杂度O(n),空间复杂度O(lgn)。 递归代码 非递归代码 链接:https://leetcode cn. 阅读全文

posted @ 2020-02-16 22:10 东寻 阅读(157) 评论(0) 推荐(0)

矩形覆盖

摘要: 题目描述 我们可以用2\ 1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2\ 1的小矩形无重叠地覆盖一个2 n的大矩形,总共有多少种方法? 思路 斐波那契问题。 时间复杂度O(n),空间复杂度O(1)。 代码 java public class Solution { public int Rec 阅读全文

posted @ 2020-02-16 20:03 东寻 阅读(250) 评论(0) 推荐(0)

变态跳台阶

摘要: 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路 斐波那契数列变种。 1. f(n)=f(n 1)+f(n 2)+……f(1) f(n 1)=f(n 2)+……f(1) 两式相减得f(n)=2f(n 1) 时间复杂度O(√ 阅读全文

posted @ 2020-02-16 12:23 东寻 阅读(132) 评论(0) 推荐(0)

跳台阶

摘要: 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 思路 递归重复子分支和函数栈调用影响效率。 计算前6项观察规律:0:0,1:1,2:2,3:3,4:5,5:8 数列呈斐波那契数列规律。 最终解是由前面的解累积而成: 若 阅读全文

posted @ 2020-02-16 09:34 东寻 阅读(135) 评论(0) 推荐(0)