剑指Offer试题总结(二)

原创 2013年12月04日 15:24:43


包含min函数的栈:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min,push和pop的时间复杂度都是O(1)?

因为栈的Push和pop的操作时间复杂度都是O(1),所以现在考虑怎么让min的复杂度也是O(1)。如果在该栈中维护一个最小值的元素,则第一次min操作的时候可以正确取出最小值,但接下来的min操作则无法取得最小值。所以可以考虑设置一个辅助栈,首先把第一个元素压入辅助栈中,下面,对每一个元素,如果该元素小于辅助栈的栈顶元素,则将该元素压入辅助栈,否则将辅助栈的栈顶元素复制并压入。

栈的压入、弹出序列:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出序列?

思路比较清晰,建立一个辅助栈,试图按照第二个序列出栈,如果栈为空之前,不能弹出任何元素,则第二个序列不是该栈的弹出序列。

从上往下打印二叉树:从上到下打印出二叉树的每个节点,同一层的结点按照从左到右顺序打印?

画个图尝试着去打印一些结点,可以想到用队列保存待打印的结点。从根节点出发,将队列的子节点顺序加入队列中,下面依次打印队列的首元素,并且每次将打印结点的子结点加入队列中。

二叉搜索树的后序遍历序列:输入一个整数数组,判断该数组是不是某个二叉搜索树的后序遍历的结果?

对于二叉搜索树的后序遍历来说,根节点为最后一个结点,且左子树均小于根节点,右子树均大于根节点,所以很显然,对每一轮的子树进行判断时,只要判断左子树和右子树和子树根节点的大小关系是否合法即可。


剑指Offer题目总结(java版)

面试题 2 :实现单例模式 1. 饿汉式单例类 public class SingletonClass { private static final SingletonCla...
  • dancheren
  • dancheren
  • 2017年03月22日 15:30
  • 458

【剑指Offer学习】【所有面试题汇总】

剑指Offer学习  剑指Offer这本书已经学习完了,从中也学习到了不少的东西,现在做一个总的目录,供自已和大家一起参考,学如逆水行舟,不进则退。只有不断地学习才能跟上时候,跟得上技术的潮流!目录第...
  • DERRANTCM
  • DERRANTCM
  • 2015年07月15日 07:26
  • 19703

剑指offer---读后总结

例题 第4题,替换空格,输入“we are happy”,输出“we%20are%20happy” solution:先扫描一遍旧的char数组,数一下有多少个空格,新数组长度就出来了。然后从末尾...
  • cnmilan
  • cnmilan
  • 2013年12月09日 13:10
  • 515

剑指Offer试题总结

此篇文章是记录《剑指Offer》书中觉得有启发性的算法题和相关考题,以后面试前再拿来扫一遍,记录贴,每天更,加油! 数组部分: 二维数组查找问题:一个二维数组的每一行是递增序列,每一列也是递增序列,要...
  • liuyanfov
  • liuyanfov
  • 2013年11月27日 18:47
  • 631

剑指offer编程题目汇总(更新中。。)

在牛客网上练题的题解,传送门:http://www.nowcoder.com/ta/coding-interviews?page=1二叉树的深度输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的...
  • violet_echo_0908
  • violet_echo_0908
  • 2016年03月25日 12:04
  • 1063

Mybatis学习总结二

1.传递pojo对象 Mybatis使用ognl表达式解析对象字段的值,如下例子: select * from user where id=#{id} and username lik...
  • u012730299
  • u012730299
  • 2016年05月20日 11:27
  • 422

剑指offer——斐波那契数列相关问题总结

题目描述 题目一: 写一个函数,输入n,求斐波那契数列的第n项。斐波那契数列定义如下:...
  • xingyanxiao
  • xingyanxiao
  • 2015年07月25日 15:20
  • 1024

体验了一把 希望杯 2017年 小学四年级 第二试试题

1.题目 小四是希望杯最简单的级别。 第二试属于复赛性质,可能比第一试难一些。 四月份考试,在小学四年级。 12个填空,没题5分;4个应用,每题15。 原题: http://sh....
  • stationxp
  • stationxp
  • 2017年07月15日 22:08
  • 396

阶段学习总结

阶段学习总结 从开始学习java到现在已经过了40多天过去了,同时也学习了java中非常重要的一部分就是面向对象的相关知识,面向对象也是java中较难的一部分,因为它是一种抽象的思想,在这一个阶段的...
  • LS1910831673
  • LS1910831673
  • 2016年12月05日 18:59
  • 468

Android 开发学习小结(二)

一、activity的主要作用 1.用户和应用程序的交互接口类似于网站的展示层 2.一个Activity可以放多个控件,可以理解成一个控件的容器 二、创建一个Activity的要点 1.一个Ac...
  • cdy102688
  • cdy102688
  • 2015年02月26日 21:40
  • 248
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:剑指Offer试题总结(二)
举报原因:
原因补充:

(最多只允许输入30个字)