2016年7月31日
摘要: 1.基本概念 内存溢出:简单地说内存溢出就是指程序运行过程中申请的内存大于系统能够提供的内存,导致无法申请到足够的内存,于是就发生了内存溢出。 内存泄漏:内存泄漏指程序运行过程中分配内存给临时变量,用完之后却没有被GC回收,始终占用着内存,既不能被使用也不能被分配给其他程序,于是就发生了内存泄漏。 阅读全文
posted @ 2016-07-31 21:13 峰小白 阅读(1336) 评论(0) 推荐(0) 编辑
  2016年7月4日
摘要: 有一个直方图,用一个整数数组表示,其中每列的宽度为1,求所给直方图包含的最大矩形面积。比如,对于直方图[2,7,9,4],它所包含的最大矩形的面积为14(即[7,9]包涵的7x2的矩形)。 给定一个直方图A及它的总宽度n,请返回最大矩形面积。保证直方图宽度小于等于500。保证结果在int范围内。 比 阅读全文
posted @ 2016-07-04 15:30 峰小白 阅读(1635) 评论(0) 推荐(0) 编辑
  2016年7月1日
摘要: 现在有3个字符串s1,s2,s3,我们需要判断s3是否是由s1和s2交错组成的。对于三个字符串A,B,C。我们称C由A和B交错组成当且仅当C包含且仅包含A,B中所有字符,且对应的顺序不改变 例如s1="abc",s="1234d",s3="ab1234dc",那么s3是由s1和s2交错组成的,如果s 阅读全文
posted @ 2016-07-01 17:03 峰小白 阅读(2247) 评论(0) 推荐(0) 编辑
摘要: 现在我们有一个nxn的整数矩阵,要求我们将矩阵顺时针旋转90度。 例如矩阵为1 2 3 旋转后则为 7 4 1 4 5 6 8 5 2 7 8 9 9 6 3 简单分析下我们可以得知旋转后下标00->02 01->12 02->22 10->01 11->11 12->21 20->00 21->0 阅读全文
posted @ 2016-07-01 11:33 峰小白 阅读(231) 评论(0) 推荐(0) 编辑
  2016年6月30日
摘要: 问题:给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5} 问题很容易理解, 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[ 阅读全文
posted @ 2016-06-30 21:24 峰小白 阅读(234) 评论(0) 推荐(0) 编辑
  2016年6月28日
摘要: 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了,面向过程可以说是从细节处思考问题,面向对象从宏观思考问题。 面向对象是把构成问题的事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事务在整个解决问题的步骤中的行为。 阅读全文
posted @ 2016-06-28 15:55 峰小白 阅读(204) 评论(0) 推荐(0) 编辑
  2016年6月6日
摘要: 我们将只包含因子2,4,5的数称为丑数,比如1, 2, 3, 4, 5, 6, 8, 9, 10, 12等等就是丑数,现在我们来求出从小到大排列的第N个丑数。 下面提供一种思路,来源于http://www.geeksforgeeks.org/ugly-numbers/。 算法的基本思想就是按从小到大 阅读全文
posted @ 2016-06-06 16:22 峰小白 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 看到这个问题我们首先想到的可能是采用暴力解法,使用3个for循环3层遍历,求出每一个子数组的和,然后进行比较求出最大的,但是这样的话时间复杂度就变成O(n^3)了,显然太高了,下面给出一种简便的方法 阅读全文
posted @ 2016-06-06 10:41 峰小白 阅读(174) 评论(0) 推荐(0) 编辑
  2016年6月5日
摘要: 在面试题中经常会出现这样一个题目,给一个数组,其中含有N个非负元素,让你求出数组中出现次数超过一半的数字。 看到这个问题我们首先想到的可能是暴力的解法,那就是将数组排个序,输出中间的元素就行了,因为如果出现次数超过一半的话排完序后中间的那个元素肯定是我们需要求的值。 这样做的话排序的时间复杂度一般来 阅读全文
posted @ 2016-06-05 19:55 峰小白 阅读(13549) 评论(0) 推荐(0) 编辑
  2016年6月3日
摘要: 二叉搜索树的定义:它或者是一棵空树,如果不为空,那么若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉搜索树。 如果一个序列是BST的后序序列,那么他满足下列条件:最后一个元素根v,去掉它之后得到 阅读全文
posted @ 2016-06-03 10:38 峰小白 阅读(295) 评论(0) 推荐(0) 编辑