上一页 1 2 3 4 5 6 ··· 11 下一页
摘要: 重构的原动力之一:发现有更好的方式去实现相同的功能。OOP需要考虑的基本问题:如何把变动的事物与不变的事物区分开来。访问控制权限:以供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的。访问控制的等级,从最大权限到最小权限依次为:public、protected、包访问权限和private。... 阅读全文
posted @ 2015-04-03 10:31 InkGenius 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志对这两个类的工作原理有些不清楚的地方,今天重新把这个概念给大家复习一下,顺便牵出J2SE5.0 里面带来的一个新的字符操作的类—— StringBuilder (先别忙着扔我砖头,我还算清醒,我这... 阅读全文
posted @ 2014-03-17 14:43 InkGenius 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 题目:从节点N到节点1的求最短路径。分析:这道题陷阱比较多,首先是输入的数据,第一个是表示路径条数,第二个是表示节点数量,在 这里WA了四次。再有就是多重边,要取最小值。最后就是路径的长度的最大值不是100,而是100001。用Dijkstra求最短路径,感觉 Dijkstra和Prim很像,都是从... 阅读全文
posted @ 2014-03-15 14:59 InkGenius 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 题目:火星人的血缘关系,简单拓扑排序。很久没用邻接表了,这里复习一下。import java.util.Scanner;class edge { int val; edge next;}public class Main { static int n; static int MAXV = 1001;... 阅读全文
posted @ 2014-03-15 14:58 InkGenius 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题意:求最小生成树中最大的一条边。分析:求最小生成树,可用Prim和Kruskal算法。一般稀疏图用Kruskal比较适合,稠密图用Prim。由于Kruskal的思想是把非连通的N个顶点用最小的代价构成一个连通分量,这与并查集的思想类似,所以可以用并查集来实现Kruskal。import java.... 阅读全文
posted @ 2014-03-14 14:14 InkGenius 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 题意:有几个村庄,要修最短的路,使得这几个村庄连通。但是现在已经有了几条路,求在已有路径上还要修至少多长的路。分析:用Prim求最小生成树,将已有路径的长度置为0,由于0是最小的长度,所以一定会被Prim选中加入最小生成树。package Map;import java.util.Scanner;/... 阅读全文
posted @ 2014-03-14 14:14 InkGenius 阅读(117) 评论(0) 推荐(0) 编辑
摘要: DescriptionFarmer John wants to repair a small length of the fence around the pasture. He measures the fence and finds that he needsN (1 ≤N ≤ 20,000) ... 阅读全文
posted @ 2014-03-14 14:14 InkGenius 阅读(139) 评论(0) 推荐(0) 编辑
摘要: DescriptionYou are given two pots, having the volume of A and B liters respectively. The following operations can be performed:FILL(i) fill the pot i ... 阅读全文
posted @ 2014-03-11 10:34 InkGenius 阅读(120) 评论(0) 推荐(0) 编辑
摘要: DescriptionFarmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a pointN (0 ≤ N ≤ 100,000)... 阅读全文
posted @ 2014-03-08 15:26 InkGenius 阅读(132) 评论(0) 推荐(0) 编辑
摘要: Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据。每组数据的第一行是两个正整数,n k,用一个空... 阅读全文
posted @ 2014-03-08 13:37 InkGenius 阅读(277) 评论(0) 推荐(0) 编辑
摘要: BackgroundThe knight is getting bored of seeing the same black and white squares again and again and has decided to make a journeyaround the world. Wh... 阅读全文
posted @ 2014-03-07 17:38 InkGenius 阅读(174) 评论(0) 推荐(0) 编辑
摘要: ListView加载数据原理:系统绘制ListView时,首先会用getCount()函数得到要绘制的这个列表的长度,然后开始逐行绘制。然后调用getView()函数,在这个函数里面首先获得一个View(简单item,如字符串或者单个组件的显示则是View,自定义的item,包含很多控件的时候是一个... 阅读全文
posted @ 2014-03-05 08:28 InkGenius 阅读(738) 评论(0) 推荐(0) 编辑
摘要: 题意:题目很难懂,题意很简单,求最长递增子序列LIS。分析:本题的最大数据40000,多个case。用基础的O(N^2)动态规划求解是超时,采用O(n*log2n)的二分查找加速的改进型DP后AC了。在基础的动态规划解法中,由于动态规划的无后效性(对于每个阶段来说,它以前的各阶段状态无法直接影响它未... 阅读全文
posted @ 2014-02-28 15:54 InkGenius 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 比较字符串之间的相似度有很多的方法,实际上也确实已经出现了很多相似度的定义。最简单的一种,就是一个字符串是另外一个字符串的字串,那么可以说它们是相似的。常见的题型就是求字串,这种用S1.contain(String S2)就可以判断。很多时候S1和S2都不是对方的字串,我们还可以这样来定义相似性:如... 阅读全文
posted @ 2014-02-28 11:35 InkGenius 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 题意:把一个字符串通过增、删、改三种操作变成另外一个字符串,求最少的操作数。分析:可以用LCS求出最大公共子序列,再把两个串中更长的那一串中不是公共子序列的部分删除。分析可知两个字符串的距离肯定不会超过它们的长度之和,因为我们可以通过删除操作把两个串化为空串。如果两个字符串的第一个元素相同,则求A[... 阅读全文
posted @ 2014-02-28 11:04 InkGenius 阅读(177) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 11 下一页