摘要: 异常处理流程1)首先由try{...}catch(Exception e){ System.out.println(e); e.printStackTrace(); }finally{...}结构2)当JVM遇到异常时,会产生一个Exception对象 或 继承自Exception的子类的对象。3)... 阅读全文
posted @ 2014-08-06 20:30 mmcmmc 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 一维数组: 有n个数(以下都视为整数),每个数有正有负,现在要在n个数中选取相邻的一段,使其和最大,输出最大的和。[a1,a2,a3................,an].动态规划很容易解决该问题:int maxSum(int a[],int n){ int sum=0; int b=... 阅读全文
posted @ 2014-08-06 19:39 mmcmmc 阅读(171) 评论(0) 推荐(0) 编辑
摘要: monotonic:单调的.序列为X=(x1,x2,x3,x4...),首先排序X得到X',找出X和X'的最长公共子序列(LCS)即可。另一种思维: 先回顾经典的O(n^2)的动态规划算法,设A[i]表示序列中的第i个数,F[i]表示从1到i这一段中以i结尾的最长上升子序列的长度,初始时设F[i] ... 阅读全文
posted @ 2014-08-06 19:14 mmcmmc 阅读(110) 评论(0) 推荐(0) 编辑
摘要: LCS:给出两个序列S1和S2,求出的这两个序列的最大公共部分S3就是就是S1和S2的最长公共子序列了。公共部分必须是以相同的顺序出现,但是不必要是连续的。LCS具有最优子结构,且满足重叠子问题的性质。所以我们可以用动态规划来解决LCS问题。由LCS问题的最优子结构可得出递归式:长度的问题我们已经解... 阅读全文
posted @ 2014-08-06 19:08 mmcmmc 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 编辑距离(Edit Distance),又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。例如将kitten一字转成sitting:sitten (k→s)sittin (e→i)sit... 阅读全文
posted @ 2014-08-06 18:50 mmcmmc 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 枚举器与数据操作1)枚举器为我们提供了访问集合的方法,而且解决了访问对象的“数据类型不确定”的难题。这是面向对象“多态”思想的应用。其实是通过抽象不同集合对象的共同代码,将相同的功能代码封装到了枚举器的这个接口里,就可以用一套代码来遍历不同类型的集合。2)每个集合类(Vector或Hashtable... 阅读全文
posted @ 2014-08-06 15:58 mmcmmc 阅读(572) 评论(0) 推荐(0) 编辑