剑指offer
文章平均质量分 71
friendbkf
Bingo! macrofun is me too.
展开
-
数据流中所有数排序之后的中位数
先来讲一下STL中make_heap push_heap pop_heap这三个模板函数的用法。template void make_heap (RandomAccessIterator first, RandomAccessIterator last); template void make_heap (RandomAccessIterator first, Ran原创 2015-12-10 21:31:51 · 796 阅读 · 0 评论 -
【剑指offer】替换空格(把一个空格替换为三个字符)
题目很简单,book备忘一下。显然,把一个空格替换为三个字符,替换后原字符串要变长。本题,题目保证原字符串空间可以容纳变长后的字符串。因为替换后变长,所以如果从前往后扫描的话,替换后,会覆盖之后原有的字符。所以采用从后向前来替换。第一遍,从前向后扫描一次,获取有多少个空格以及原字符串的总长度。之后,计算出新字符串的长度。之后,从后向前扫描原字符串,把对应的字符直接放到新字符串对应的原创 2015-12-13 15:32:56 · 1186 阅读 · 0 评论 -
跳台阶问题 + 变态跳台阶问题 解法(动态规划递归 + 非递归)
一、跳台阶问题题目描述: 一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。求总共有多少总跳法,并分析算法的时间复杂度。通过题目的描述,可以很清晰地看到,这就是一个Fibonacci数列。递归实现:unsigned long long solution(int stageNum){ //定义递归出口 if(stageNum <= 0) re原创 2015-11-26 21:39:19 · 16998 阅读 · 8 评论 -
矩形覆盖
如图,设n=3,设我们从最左边开始覆盖,一开始,我们有两种选择,竖着放或者横着放,若横着放第一块后,下一块必然要把4个格子填满。然后图像就分为已经填好的,和还没填好的。可以看到剩下还没填好的,其实是初始问题n的一个子问题。于是f(n) = f(n-1) + f(n-2),于是这又是一个斐波那契数列问题。用自底向上动态规划来做。当n为0时,f(0) = 1; 当n为1时,f(1) = 1; 当n为2时,f(2) = 2;原创 2015-11-26 22:14:59 · 555 阅读 · 0 评论 -
【剑指offer】二叉树的镜像
题目描述操作给定的二叉树,将其变换为源二叉树的镜像。 举例:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7原创 2015-12-15 14:24:21 · 563 阅读 · 0 评论 -
【剑指offer】二叉搜索树的后序遍历序列
一看到后序遍历,就要反应出来:从后向前遍历数组,我可以找到该二叉树每棵子树的根。其实,这道题前序和后序遍历,解题方法是完全一样的,因为只要该遍历中包含了根的信息,就可以按照BST树的定义来检查。所以,中序遍历不行。因为中序遍历不显含根的位置信息。这样,检验该二叉树是否是BST,就可以根据定义来做了。原创 2015-12-15 18:03:48 · 765 阅读 · 0 评论 -
求二进制数中1的个数
题目描述给定一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。方法一:直觉法。完全凭直觉。int BitCount(unsigned int n){ unsigned int c =0 ; // 计数器 while (n >0) { if((n &1) ==1) // 当前位是1 ++c ; // 计数原创 2015-11-26 22:30:51 · 656 阅读 · 0 评论 -
旋转打印矩阵、旋转存储矩阵、之字形打印矩阵
题目:输入一个矩阵,按照从外向里以顺时针顺序依次打印出每一个数字。例如:如果输入如下矩阵:1 2 3 45 6 7 89 10 11 1213 14 15 16有三问:1)如何实现转圈打印矩阵? 2)如何实现顺时针旋转矩阵?3)如何实现“之”字形打印矩阵?原创 2015-12-04 12:24:46 · 2169 阅读 · 0 评论 -
【剑指offer】复杂链表的复制
输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点)/*struct RandomListNode { int label; struct RandomListNode *next, *random; RandomListNode(int x) : label(x), next(NULL),原创 2016-01-08 14:51:53 · 719 阅读 · 0 评论