每天一个
文章平均质量分 76
三清山
清心清神清身如山
展开
-
二元查找树转双向链表
public class A01 {/** * 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 * */ /** * @param args */public static void main(String[] args) {Tree tree = new Tree();Node node = Tree2List(tree.getRootN原创 2013-10-29 20:43:38 · 580 阅读 · 0 评论 -
@@:java的io系统(一)
写在前面:当物质条件不行的时候,我们应该加强精神文明建设。转载 2014-03-10 21:26:09 · 547 阅读 · 0 评论 -
编程之美读书笔记:翻烙饼的问题
问题的描述:一摞大小无序的饼,允许单个或者多个一起直接的颠倒,求最优化的翻饼过程。刚看到题目的时候,感觉比较的简单,就想一个数组,加上for循环,再加上几个条件判断就好了。只是一个程序,丝毫没有算法什么的概念,或者说就是为了解题而解题。看了书上面的分析,有点看不大懂的感觉,细细的看,才觉得这个才是问题沉淀的一个过程,或者说这样才是积累的一个过程。就比如高中老师说的那样:会一道题,算什么,要根据原创 2013-12-04 21:57:46 · 1282 阅读 · 0 评论 -
编程之美读书笔记:将相问题
久闻大名的一本书,现今才买来细细的品读,比较的惭愧啊,废话不多说,开始自己的拜读之旅。由于工作中主要是Java,书中是C++的代码,会尽量的转成Java代码,一来可以更加便于理解,二来那能够敲敲代码,发散一下思维。从1.2节,将相的问题开始,第一次看到题目,直接的无语了。感觉“代码中只能使用一个字节存储变量”,这个实在难为人,事实上,这个是一个提示的信息。很有一种感悟的说法:最难的那一点,就是原创 2013-12-02 21:22:35 · 562 阅读 · 0 评论 -
编程之美读书笔记:翻烙饼想到的五大常用的算法
看到翻烙饼里面应用的分支界限法,就想到了经典的五大常用的算法,前几天工作的时候,还用到了多叉树判断是否含有圈圈的情况,好久确定写出的算法能够使用,今天就着重的复习一下,这五个常用的算法,也算为下一个问题热身:买书的问题,用到了贪心以及动态规划的问题。(一) 分治算法分治法所能解决的问题一般具有以下几个特征: 1) 该问题的规模缩小到一定的程度就可以容易地解决原创 2013-12-07 23:50:53 · 1249 阅读 · 0 评论 -
JDK中字符串转成int值
public class A16 { /** * 输入一个表示整数的字符串,把该字符串转换成整数并输出。 * 输入字符串"345",则输出整数345。 * 数值小的时候,还好说,要考虑比较大的数 * * 首先是JDK提供的功能,学习之 * @param args */ public static void main(String[] args) { Stri原创 2013-11-05 20:47:17 · 664 阅读 · 0 评论 -
单向链表倒数第K个节点
public class A13 { /** * 输入一个单向链表,输出该链表中倒数第k 个结点。 * 链表的倒数第0 个结点为链表的尾指针。 * */ /** * @param args */ public static void main(String[] args) { LinkedNode linkNode = new LinkedNode();原创 2013-11-03 22:57:24 · 585 阅读 · 0 评论 -
不同的数字组成的圆圈中删除第m 个数字
public class A15 { /** *n 个数字(0,1,…,n-1)形成一个圆圈,从数字0 开始, *每次从这个圆圈中删除第m 个数字 *(第一个为当前数字本身,第二个为当前数字的下一个数字)。 *当一个数字删除后,从被删除数字的下一个继续删除第m 个数字。 *求出在这个圆圈中剩下的最后一个数字。 *原创 2013-10-31 23:17:05 · 547 阅读 · 0 评论 -
在一个字符串中找到第一个只出现一次的字符
public class A14 { /** * 在一个字符串中找到第一个只出现一次的字符 * 如输入baccdeff,则输出b。 * @param args */ public static void main(String[] args) { String testString = "bac"; System.out.println(getFirstSingle(原创 2013-10-31 22:16:43 · 741 阅读 · 0 评论 -
二叉树中和为某一值的路径
/** * 二叉树中和为某一值的路径 * 递归迭代的过程 * */public class A04 { public Stack stack = new Stack(); static class Node{ public int content; public Node Left; public Node Right; public int getConte原创 2013-10-31 22:14:26 · 706 阅读 · 0 评论 -
设计一个堆栈,函数min、push 以及pop 的时间复杂度都是O(1)
/** * 2.设计包含min 函数的栈。 * 定义栈的数据结构,要求添加一个min 函数,能够得到栈的最小元素。 * 要求函数min、push 以及pop 的时间复杂度都是O(1)。 * * 经典的空间换取时间,这个是利用java语言的JDK的实现的 */public class A02_1 { public static void main(String[] arg原创 2013-10-29 21:22:19 · 1663 阅读 · 0 评论 -
@@:java的io系统(二),代码
写在前面:精神丰富了,物质才有丰富的可能。原创 2014-03-12 17:55:11 · 574 阅读 · 0 评论