随笔分类 -  剑指offer

摘要:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 难度:⭐⭐⭐⭐ 关键:不能用递归,时间复杂度会以n的指数方式增长,导致stackoverflow。要用循环,为了计算量不大,要自下而上的循环,将运算结果存在中间变量中,这样就是O(n) 阅读全文
posted @ 2018-07-18 23:01 lightmare 阅读(209) 评论(0) 推荐(0)
摘要:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 难度⭐ 思路 stack1 正向队列 用于添加。 stack2 反向队列 用于删除。 我的代码。 vs2005上编译。 注意 T& 的含义,代表引用。 模板的用法。 python 增#直接push 到 stack1 阅读全文
posted @ 2018-07-17 23:11 lightmare 阅读(133) 评论(0) 推荐(0)
摘要:关键是举例和画图的思想。 主要分三种类型。 1.有右子树:返回 右子树的最左节点。 2.无右子树:2.有父节点:2.是左结点:返回 父节点。 3.无右子树:3.有父节点:3.是右节点:找到第一个是左结点的节点,返回 该节点的父节点。//这里的while我出了个bug 4.无右子树:4.无父节点:返回 阅读全文
posted @ 2018-07-17 00:11 lightmare 阅读(125) 评论(0) 推荐(0)
摘要:对vector使用指针 二叉树结构体定义 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 刷第一遍 阅读全文
posted @ 2018-07-15 23:09 lightmare 阅读(202) 评论(0) 推荐(0)
摘要:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 提交时间:2018-07-10 语言:C++ 运行时间: 4 ms 占用内存:480K 状态:答案正确 提交时间:2018-07-10 语言:J 阅读全文
posted @ 2018-07-11 22:48 lightmare 阅读(176) 评论(0) 推荐(0)
摘要:1.题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 输入描述: 输出描述: 查找到返回true,查找不到返回false c++版本 运行时间:12ms 占用内存:1372 阅读全文
posted @ 2018-07-08 17:12 lightmare 阅读(225) 评论(0) 推荐(0)