随笔分类 -  Java

摘要:Java的类初始化过程:1. 父类的static成员变量,static语句块。2. 子类的static成员变量,static语句块。3. 父类的普通成员变量,构造函数。4. 子类的普通成员变量,构造函数。注意:如果下面一句话没看懂,没关系,看下面的一个例子就明白了~如果子类覆盖了父类的成员函数,该成... 阅读全文
posted @ 2015-10-29 16:44 lasclocker 阅读(213) 评论(0) 推荐(0)
摘要:Problem Description:给定一个字符串,找出其中最长的重复出现的字符串,并且给出其首次出现的位置。输入输入包含多组测试数据;每组测试字符串占一行。数据保证:50%的字符串长度在[0,100],100%的字符串长度[0,1000]。输出对于每组测试数据,请输出最长的重复出现的字符串和其... 阅读全文
posted @ 2015-10-14 23:27 lasclocker 阅读(580) 评论(0) 推荐(0)
摘要:1 class A { 2 public String show(D obj) { // func1 3 return ("A and D"); 4 } 5 public String show(A obj) { // func2 6 ret... 阅读全文
posted @ 2015-10-12 10:50 lasclocker 阅读(314) 评论(0) 推荐(0)
摘要:算法分析:序列 S= {S0, S1, S2, ...,Sn-1}是n个可排序的序列。(1). i从n-1递减到1,重复步骤(2)~(3)。(2). j从0递增到i-1,重复步骤(3)。(3). 若Sj > Sj+1,交换它们。原始代码和改进的代码如下:import java.util.Arrays... 阅读全文
posted @ 2015-10-09 21:21 lasclocker 阅读(187) 评论(0) 推荐(0)
摘要:算法过程:序列S = {S0, S1, S2, ..., Sn-1}是n个可排序的序列,则(1). 令i从1递增到n-1,重复步骤(2)-(5).(2). 将元素Si保存到临时变量tmp,令j = i-1.(3). 确定使条件tmp = 0.(4). 在(3)的过程中依次将子序列{Sj,...,Si... 阅读全文
posted @ 2015-10-08 20:26 lasclocker 阅读(293) 评论(0) 推荐(0)
摘要:利用邻接矩阵法建立一个简单的图,然后利用广度优先搜索(BFS)和深度优先搜索(DFS)测试代码,并实现了深度优先搜索的非递归形式。需要注意的是,由于每次测试前都要初始化图,故每种方法只能单独测试。import java.util.LinkedList;import java.util.Queue;i... 阅读全文
posted @ 2015-10-08 18:14 lasclocker 阅读(268) 评论(0) 推荐(0)
摘要:下面利用一个栈(Stack)分别实现了二叉树的非递归式的前序、中序、后续遍历。代码最后,自定义一个People类,并存储在二叉树中,并依此利用三种遍历方法输出每个People。import java.util.Stack;class TreeNode { TreeNode left, righ... 阅读全文
posted @ 2015-10-07 19:28 lasclocker 阅读(258) 评论(0) 推荐(0)
摘要:下面代码包含了二叉树的建立过程,以及三种遍历方法了递归实现,代码中还利用队列实现了层次遍历。import java.util.LinkedList;import java.util.Queue;class TreeNode { TreeNode left, right; K key; ... 阅读全文
posted @ 2015-10-07 16:36 lasclocker 阅读(191) 评论(0) 推荐(0)
摘要:下面参考java.util.HashMap,写了一个简单的散列表,只实现了其中的put和get方法,使用链接法"碰撞冲突"。代码最后,自定义了一个People类,并覆盖了equals,hashCode,toString方法,实现了Comparable接口。利用People类检验散列表的正确性,并利用... 阅读全文
posted @ 2015-10-06 21:21 lasclocker 阅读(378) 评论(0) 推荐(0)
摘要:注意插入和删除操作中的限制约束条件。class ListNode { ListNode next; int val; public ListNode(int x) { val = x; }}public class LinkList { private L... 阅读全文
posted @ 2015-10-05 22:08 lasclocker 阅读(259) 评论(0) 推荐(0)
摘要:打印链表元素的顺序与尾插入法的相反,但代码比尾插入法更简洁。class ListNode { ListNode next; int val; public ListNode(int x) { val = x; }}public class LinkList { ... 阅读全文
posted @ 2015-10-05 20:51 lasclocker 阅读(447) 评论(0) 推荐(0)
摘要:class ListNode { ListNode next; int val; public ListNode(int x) { val = x; }}public class LinkList { private ListNode curr = new... 阅读全文
posted @ 2015-10-05 20:44 lasclocker 阅读(543) 评论(0) 推荐(0)
摘要:利用尾插入法建立单向链表,开始结点充当队列的head,末尾结点充当队列的tail,并考虑下溢出。class ListNode { ListNode next; int val; public ListNode(int x) { val = x; }}public... 阅读全文
posted @ 2015-10-05 19:12 lasclocker 阅读(364) 评论(0) 推荐(0)
摘要:下面利用数组实现的循环队列,并考虑了上溢出和下溢出。public class Queue { private int[] queue; private static final int defaultSize = 100; private int size; private ... 阅读全文
posted @ 2015-10-05 19:10 lasclocker 阅读(311) 评论(0) 推荐(0)
摘要:链式栈不需要考虑上溢出(overflow),但在存储时需要增加指针开销。class ListNode { ListNode next; int val; public ListNode(int x) { val = x; }}public class Stack... 阅读全文
posted @ 2015-10-05 16:10 lasclocker 阅读(244) 评论(0) 推荐(0)
摘要:上面代码实现了Stack的isEmpty(),isFull(),clear(),push(),pop(),peek()方法。顺序栈,必须要同时检查下溢出(underflow)和上溢出(overflow)。public class Stack { private int[] stack; ... 阅读全文
posted @ 2015-10-05 16:02 lasclocker 阅读(462) 评论(0) 推荐(0)
摘要:一、准备包含本地方法的.java文件(ContentVideo.java),包括set()和get()两个方法。public class ContentVideo { public native static String get(); //对将要调用的方法做本地声明 public na... 阅读全文
posted @ 2015-07-15 15:11 lasclocker 阅读(686) 评论(0) 推荐(0)
摘要:昨晚,在做leetcode上的3Sum题目时,感觉这道题目和2Sum很像,当时解决2Sum时,思路如下:用HashMap的key存储 num[i],value存储下标 i,之后在遍历数组num时,判断target-num[i]是否在HashMap的key中,大致解题思路是这样的。于是我决定继续用... 阅读全文
posted @ 2015-04-11 15:00 lasclocker 阅读(1346) 评论(0) 推荐(0)