随笔分类 -  算法java实现

二叉树题集
摘要:1.二叉树一般定义 1 package algorithm; 2 import java.util.Stack; 3 4 public class binaryTree { 5 public static void main(String[] args) { 6 TreeNode root = new TreeNode(1); 7 for (int i = 0; i data){ 25 p.parent=(root); 26 (root).left=p; 27 return... 阅读全文

posted @ 2013-12-19 10:30 依蓝jslee 阅读(155) 评论(0) 推荐(0)

字符串算法题
摘要:1.最长回文子字符串(Manacher!) 给定一个字符串S=A1A2...An,要求找出其最长回文子串(Longest Palindromic Substring)。所谓回文子串就是S的某个子串Ai...Aj为回文。例如,对字符串S=abcdcbeba,它的回文子串有:bcdcb,cdc,beb,满足题目要求的最长回文子串为bcdcb。 分析: *回文可能由奇数个字符组成,也可能由偶数个字符组成。 解决方案:在字符边界添加特殊符号。例如,对字符串aba,预处理后变成#a#b#a#;对字符串abba,预处理后变成#a#b#b#a#。可以看出,不管是奇数回文,还是偶数回文,在与处理后都变... 阅读全文

posted @ 2013-12-17 18:40 依蓝jslee 阅读(373) 评论(0) 推荐(0)

数字
摘要:1.给定任意一个正整数,求比这个数大且最小的“不重复数”,“不重复数”的含义是相邻两位不相同,例如1101是重复数,而1201是不重复数。 1 package number; 2 3 /** 4 * 给定任意一个正整数,求比这个数大且最小的“不重复数”,“不重复数”的含义是相邻两位不相同,例如1101是重复数,而1201是不重复数。 5 * @author hasee 6 * 7 */ 8 public class repeatBit { 9 public static void main(String[] args) {10 int NumGived = 9... 阅读全文

posted @ 2013-12-16 18:52 依蓝jslee 阅读(207) 评论(0) 推荐(0)

数组
摘要:1.顺时针打印数组 eg: 1 2 3 4 5 6 7 8 9 打印出来,结果为1 2 3 6 9 8 7 4 5 解: 注意 * * (只有一行) 只有一列,行列不同等情况。 1 package offer; 2 3 /** 4 * 剑指offer p127 20题 5 * @author hasee 6 * 7 */ 8 public class PrintArr { 9 public static void print(int[][] arr){10 if(arr == null)11 return;12 ... 阅读全文

posted @ 2013-12-16 18:10 依蓝jslee 阅读(239) 评论(0) 推荐(0)

导航