Q:从上往下打印出二叉树的每个节点,同层节点从左至右打印。 T:简单而言就是层序遍历,使用队列。 A: ...
分类:
其他好文 时间:
2020-02-08 17:55:53
阅读次数:
77
第一次见到这个题,感觉简单到爆,不就是sort函数排个序,取中位数,遍历一遍计个数不就OK了吗?但是面试时,sort可能会让你自己去实现,或者说,题目要求:不能修改输入的数组呢???第一种方法(基于Partition函数)注意:此方法修改了输入的数组核心:出现次数超过一半的数字,排序后中位数肯定是这个数字解题思路:通过Partition函数,随机选出数组中的一个元素(我的代码中默认是数组中第一个元
分类:
编程语言 时间:
2020-02-08 15:31:47
阅读次数:
83
题目:设计一个类,我们只能生成该类的一个实例。 由于设计模式在面向对象程序设计中起着举足轻重的作用,在面试过程中很多公司都喜欢问一些与设计模式相关的问题。在常用的模式中,Singleton是唯一一个能够用短短几十行代码完整实现的模式。因此,写一个Singleton的类型是一个很常见的面试题。 ...
分类:
其他好文 时间:
2020-02-07 19:01:39
阅读次数:
72
题目:输入一棵二叉搜索树,将该二叉搜素树转换成一个排序的双向链表。二叉树节点定义如下:structTreeNode{intval;structTreeNode*left;structTreeNode*right;TreeNode(intx):val(x),left(NULL),right(NULL){}};解题思路:由于通过中序排序可以转化为双向链表,因此,通过中序遍历的方法(左根右)的递归方法可
分类:
编程语言 时间:
2020-02-07 10:52:36
阅读次数:
79
Q:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 T: 看到这个问题, 我们最开始可能会想, 添加一个成员变量用于保存最小元素, 每次压栈时如果压栈元素比当前最小元素更小, 就更新最小元素. 但是这样会有一个问题, 如果最小元素被弹出了呢, ...
分类:
其他好文 时间:
2020-02-07 01:40:58
阅读次数:
76
Q:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. A: P.S.这个题就是 ...
分类:
其他好文 时间:
2020-02-06 23:09:17
阅读次数:
84
一、 const:如果函数参数是指针,且仅作输入用,则必须在类型前面加上const,以用来防止该指针在函数体内被意外修改。 const在*前表示指针所指的内容固定(不允许*abc="789"),指针的指向可变 const int *abc="123" ;abc="345"; const在*后表示指针 ...
分类:
其他好文 时间:
2020-02-06 23:09:00
阅读次数:
63
剑指OFFER 平衡二叉树 分析 先理解什么是平衡二叉树 它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 下面的代码我只判断了根节点左右孩子的深度(没有再递归判断其子树的),但是也一样过了. 代码 ...
分类:
其他好文 时间:
2020-02-06 20:08:55
阅读次数:
58
剑指OFFER 数据流中的中位数 题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法 ...
分类:
其他好文 时间:
2020-02-06 16:25:40
阅读次数:
68