摘要: 在网上查了另外一种方法,其实也算同一种。有一些动态规划的思想。代码如下: 参考http://blog.csdn.net/nciaebupt/article/details/8482077 代码。灰常感谢! 阅读全文
posted @ 2017-08-16 20:44 Cloud_strife 阅读(144) 评论(0) 推荐(0) 编辑
摘要: HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2} 阅读全文
posted @ 2017-08-16 18:28 Cloud_strife 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 最小堆 最大堆 实现类 阅读全文
posted @ 2017-08-16 11:27 Cloud_strife 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 求TOP K数据问题。 一般的思路是,求最小值,用最大堆,求最大值,用最小堆。 拿球最大值来看。用最小堆,先对一个数组的前K个数组进行一个建堆操作,建立最小堆。然后对剩余数组进行选择,如果比堆中最小值的数据大,则替换最小值,然后更新堆,如果比最小值还小,则丢弃。 下面给出代码。我先贴上最小堆的代码。 阅读全文
posted @ 2017-08-16 00:32 Cloud_strife 阅读(148) 评论(1) 推荐(0) 编辑
摘要: 题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是 阅读全文
posted @ 2017-08-11 23:33 Cloud_strife 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 看到这个 题目,第一想法就是,我要不定义一个变量,指向当前栈中最小的值,每次入栈,就和最小值进行比较,如果比最小值小,则最小值指向该值,否则最小值依旧。 但很快遇到问题,如果在出栈时,最小值出来后,比最小值小的值呢?无法查到了啊 阅读全文
posted @ 2017-08-11 22:04 Cloud_strife 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 判断一颗二叉树,是不是对称的。如果一颗二叉树和它的镜像一样,则它是对称的。 举例如下,该树为对称的。但这个就不是。 对于这个题目。我第一眼想到的办法是,首先我把一棵树转换成它的镜像,然后通过先序,读取镜像树和原始树的数据,并保存在数组中,或者栈中。,然后对着2个数组,或者栈进行匹配。但耗时比较长。书 阅读全文
posted @ 2017-08-10 11:35 Cloud_strife 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5废话不多说,直接强行上代码。树的创建和打印已经封装好,直接调用。 package 阅读全文
posted @ 2017-08-10 10:50 Cloud_strife 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 最近在刷剑指offer,里面提到二叉树,一直以来用java的多,所以编写了一个java二叉树结构和工具类。工具类包括创建,遍历等方法。定期更新。 关于输入,假如我的二叉树结构为,则输入的数据为1 2 0 0 3 0 0 。如果为,则输入数据为 1 2 3 0 0 0 4 0 5 0 0 ,其中空格应 阅读全文
posted @ 2017-08-10 10:34 Cloud_strife 阅读(2918) 评论(0) 推荐(0) 编辑
摘要: 新增一个链表,然后分别采用2个指针指向这两个链表,每次比较链表的值,将较小的那一个存入新链表中。需要主要的是对空链表进行处理,主要还是考察代码的鲁棒性。总共2个链表,数组分别是1,3,5,7,和2, 4, 6,8 采用java进行实现。 阅读全文
posted @ 2017-08-03 10:31 Cloud_strife 阅读(1314) 评论(0) 推荐(0) 编辑