posted @ 2016-04-05 11:07 徐岩 阅读(168) 评论(0) 推荐(0)
摘要:
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 Solution 1: (递归建树) Solution 2: 阅读全文
摘要:
题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 Solution 1: class Solution { public: void replaceSpace(char *str, i 阅读全文
posted @ 2016-04-05 10:29 徐岩 阅读(110) 评论(0) 推荐(0)
摘要:
题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 输入描述: array: 待查找的二维数组 target:查找的数字 输出描述: 查找到返回true,查找不到返回fals 阅读全文
posted @ 2016-04-05 09:55 徐岩 阅读(137) 评论(0) 推荐(0)
摘要:
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? Solution 1: Solution 2: 阅读全文
posted @ 2016-04-05 09:23 徐岩 阅读(76) 评论(0) 推荐(0)
摘要:
题目描述 现定义数组单调和为所有元素i的f(i)值之和。这里的f(i)函数定义为元素i左边(不包括其自身)小于等于它的数字之和。请设计一个高效算法,计算数组的单调和。 给定一个数组A同时给定数组的大小n,请返回数组的单调和。保证数组大小小于等于500,同时保证单调和不会超过int范围。 测试样例: 阅读全文
posted @ 2016-04-04 20:34 徐岩 阅读(361) 评论(0) 推荐(0)
摘要:
题目描述 请设计一个高效算法,查找数组中未出现的最小正整数。 给定一个整数数组A和数组的大小n,请返回数组中未出现的最小正整数。保证数组大小小于等于500。 测试样例: [-1,2,3,4],4 返回:1Solution 1: class ArrayMex { public: int findArr 阅读全文
posted @ 2016-04-04 20:21 徐岩 阅读(373) 评论(0) 推荐(0)
摘要:
题目描述 请设计一个复杂度为O(n)的算法,计算一个未排序数组中排序后相邻元素的最大差值。 给定一个整数数组A和数组的大小n,请返回最大差值。保证数组元素个数大于等于2小于等于500。 测试样例: [9,3,1,10],4 返回:6Solution 1: class MaxDivision { pu 阅读全文
posted @ 2016-04-04 20:12 徐岩 阅读(216) 评论(0) 推荐(0)
摘要:
题目描述 一个栈依次压入1,2,3,4,5那么从栈顶到栈底分别为5,4,3,2,1。将这个栈转置后,从栈顶到栈底为1,2,3,4,5,也就是实现了栈中元素的逆序,请设计一个算法实现逆序栈的操作,但是只能用递归函数来实现,而不能用另外的数据结构。 给定一个栈Stack以及栈的大小top,请返回逆序后的 阅读全文
posted @ 2016-04-04 20:08 徐岩 阅读(257) 评论(0) 推荐(0)
摘要:
题目描述 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。 给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。 测试样例: 1->2->2->1 返回:trueSolution 1: /* struct 阅读全文
posted @ 2016-04-03 18:42 徐岩 阅读(161) 评论(0) 推荐(0)