Java 8 特性 – 终极指南 (原文:http://www.javacodegeeks.com/2014/05/java-8-features-tutorial.html )
编者注:Java 8出现在公众视野中已经有一段时间了,在这期间,种种迹象都表明Java 8是一个非常重要的版本。
我们已经在Java Code Geeks提供了很多丰富的...
分类:
编程语言 时间:
2014-11-08 15:17:29
阅读次数:
307
Detect Cycle in a Directed Graph推断一个图是否有环,有环图例如以下:这里唯一注意的就是,这是个有向图, 边组成一个环,不一定成环,由于方向能够不一致。这里就是添加一个数组保存当前已经訪问过的路径信息 recStack[];而visited[]数组是訪问过的点的信息,两...
分类:
其他好文 时间:
2014-10-26 19:35:42
阅读次数:
173
本文总结在工作/学习中发现的Java相关的blogs。1. java code geeks (jcg)http://www.javacodegeeks.com/join-us/jcg/2.http://javarevisited.blogspot.com/To be continued ...
分类:
编程语言 时间:
2014-10-20 16:59:32
阅读次数:
240
一维最大字段和的扩展。
要诀是固定列的左右点,比如左边记录为left, 右边记录为right,那么一个循环left从0到COL,行最大值,那么right从left开始循环到COl,就可以考虑到所有列组合了,这个循环是O(n*n),然后求范围列内的行最大子段和,时间是O(n),
这样巧妙地把二维的问题转化为一维了,最终时间复杂度是O(n^3)。
可以参考Geeks上的讲解,不过他的最大...
分类:
其他好文 时间:
2014-08-08 18:12:56
阅读次数:
227
很久之前就想攻克一下网络流的问题了,一直拖着,一是觉得这部分的内容好像非常高级,二是还有很多其他算法也需要学习,三是觉得先补补相关算法会好点
不过其实这虽然是图论比较高级的内容,但是基础打好了,那么还是不会太难的,而且它的相关算法并不多,熟悉图论之后就可以学习了,就算法不会二分图也可以学习。
这里使用Ford-Fulkerson算法,其实现的方法叫做:Edmonds-Karp
Algori...
分类:
其他好文 时间:
2014-07-26 17:22:32
阅读次数:
413
经常会遇到下载的文件或电子书,名字中间都包含了一些网址信息,实际使用中由于名字太长不方便,下面的脚本使用正则表达式来对目录下的所有文件重命名:例如:修改前:[大家网]Mac OS X for Unix Geeks[www.TopSage.com].mobi修改后:Mac OS X for Unix ...
分类:
编程语言 时间:
2014-07-07 14:27:23
阅读次数:
246
本题是一般最近对点求解,稍微增加点限定:有两个集合点,要求不同集合中的点的最近对。
那么就增加一个判断,如果是同一个集合中的点,那么就返回最大值,其他和一般的最近对点解法一样。
注意:本题数据有重合点,那么就要防止分类的时候溢出。
Geeks上的最近对的程序是无法处理有重合点的情况的。
#include
#include
#include
#include
#includ...
分类:
其他好文 时间:
2014-07-02 15:27:59
阅读次数:
402
检查一个图是否是二分图的算法
使用的是宽度搜索:
1 初始化一个颜色记录数组
2 利用queue宽度遍历图
3 从任意源点出发,染色0, 或1
4 遍历这点的邻接点,如果没有染色就染色与这个源点相反的颜色,如果已经染色并且和源点的值相反,那么就是合法点,如果是相同的颜色,那么就不能是二分图
参考:http://www.geeksforgeeks.org/bipartite-gra...
分类:
其他好文 时间:
2014-06-22 18:35:43
阅读次数:
223
使用线段树预处理,可以使得查询RMQ时间效率在O(lgn)。
线段树是记录某范围内的最小值。
标准的线段树应用。
Geeks上只有两道线段树的题目了,而且没有讲到pushUp和pushDown操作,只是线段树的入门了。
参考:http://www.geeksforgeeks.org/segment-tree-set-1-range-minimum-query/
我修改了一下他的程序,使用...
分类:
其他好文 时间:
2014-06-22 18:08:05
阅读次数:
217
给出一颗二叉树,找到两个值的最小公共节点。
假设两个值都会在树中出现。如果可能不会出现的话,也很简单,就查找一遍看两个值是否在树中就可以了。如果不在就直接返回NULL。
基本思想:就是在二叉树中比较节点值和两个值的大小,如果都在一边(左边或者右边)那么就往下继续查找,否则就是都在同一边了,那么就可以返回这个节点了,这个节点就是最低公共单亲节点了。
参考:http://www.geeksfor...
分类:
其他好文 时间:
2014-06-16 21:06:22
阅读次数:
235