`
chriszeng87
  • 浏览: 745246 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义“距离”为两个节点之间边的个数。写一个程序求一棵二叉树相距最远的两个节点之间的距离。   分析: 对任意一个节点,以该节点为根,假设这个根有k个孩子节点,那么相距最远的两个节点U和V之间的路径与这个根节点的关系有两种情况。  1.若路径经过根Root,则U和V是属于不同的子树的,且它们都是该子树中到根节点最远的节点,否则跟它们的距离最远相矛盾。 2.若路径不经过Root,那它们一定同属于根的左子树或右子树,并且它们也是该子树中相距最远的两个顶点。   因此,问题就可以转化为在子树上的解,从而能够利用动态规划来解决 ...
Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. Maybe you are a good boy, and know little about this game, so I introduce it to you now.The game can be played by two or more than two players. It consists of a chessboard(棋盘)and some chessmen(棋子), an ...
    老大一直说要用这个来做面试题,让面试的人来写一个线程安全的单例模式,感觉自己还没掌握,把 Head first--Design Patterns 找了出来,以下大部分内容抄袭自这本书,略有增删改。   1. 全局变量的缺点:      必须在程序一开始就创建好对象,如果程序在这次的执行过程中又一直没用到它,就非常耗费资源。   2. 经典的单例模式实现:     public class Singleton { //用一个静态变量来记录Singleton类的唯一实例 private static Singleton uniqueInstan ...
转自 http://anwj336.blog.163.com/blog/static/89415209201010110025364/ 题目:输入n个整数,输出其中最小的k个。 例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4。  分析:这道题最简单的思路莫过于把输入的n个整数 ...
题目:算法导论第二版 P216 15.5-1 package introductionToAlgorithms.dp; public class ConstructOprimalBST { private int[][] root={{1,1,2,2,2},{0,2,2,2,4}, {0,0,3,4,5},{0,0,0,4,5},{0,0,0,0,5}}; public void constructOptimalBST(int left,int right){ if(left == 0 && right == root.length-1 ...
1. 注意身体,身体是最重要的。作息规律,改变一些不好的习惯,按时休息,给自己一个干净、舒适的环境。   2. 把关注的事情放到一个很小的范围内,人人、微博可以少花些时间,毕竟里面的大量内容都是无效信息。技术网站只关注Android、Linux、iOS的内容,其它内容通通过滤。人的精力是有限的,把一件事情做好已经很不容易。在我还没有能力去涉猎更多的东西前,先把一个点研究透。关注的点太多,太累,尤其记忆性知识,看过了就忘了,不值得。有些东西,可以lazy loding,要用的时候再看再学。我有一个不好的习惯,遇到有些问题太喜欢往深了钻,因为知识结构太不完善,往往为了解决一个问题,要看很多内容, ...
只有30M的android源码: http://rgruet.free.fr/public http://d.download.csdn.net/down/1429398/GoWish   下载了Android的源码后,怎么在Eclilpse里面查看Android的源码?在网上看到很多种方法,感觉都很复杂,如果你只是想查看源码,可以这样做:   1.创建一个Java工程,随便命名为什么;   2.在工程上点击右键,选择Build path->Link Source... 然后选择所有源码,或者部分源码(如framework)   3.可以在工程中看源码了
mark一下,为以后钻研技术定个方向: 1. 熟悉Android框架,UI布局;2. 熟悉C和Java语言,有Linux下工作经验,熟悉JNI;3. 对移动终端有较深入的了解,熟悉3G/WIFI等技术;4. 精通Android平台下的多线程,Socket通信技术,SQLite数据库;5. 熟悉现有Android设备,熟悉移动设备的开发特点,性能调优; 6.熟悉Android OS系统体系结构、framework、以及底层库  7.理解面向对象设计的基本原则,熟悉常用的设计模式   8.熟悉Json/XML 9.有地图、导航、音乐播放器、LBS、阅读器、视频产品经验10.熟悉C++语言  ...
在mac上找不到eclipse.ini文件编辑内存限制,在eclipse安装目录右击eclipse程序,选“显示包内容”,eclipse.ini就在 Content/MacOS下。   
   Handler的定义:    主要接受子线程发送的数据, 并用此数据配合主线程更新UI。当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发。 比如说,你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作。如果此时需要一个耗时的操作,例如: 联网读取数据,或者读取本地较大的一个文件的时候,你不能把这些操作放在主线程中,如果你放在主线程中的话,界面会出现假死现象, 如果5秒钟还没有完成的话,会收到Android系统的一个错误提示 "强制关闭"。   ...
1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用了很久 ...

算法题

  1. 求随机数构成的数组中找到长度大于=3的最长的等差数列 输出等差数列由小到大 如果没有符合条件的就输出[0,0]   格式: 输入[1,3,0,5,-1,6] 输出[-1,1,3,5]   要求时间复杂度,空间复杂度尽量小   2. 在任意给定的n个数中,既包括正数也包括负数,在这n个数中找出m(2<=m<  n)个,使得这m个数的和的绝对值最小??
1. Eclipse 插件安装不全 2. Eclispe 的网络没有设置代理  
题目: 设L=<a1,a2,…,an>是n个不同的实数的序列,L的递增子序列是这样一个子序列Lin=<aK1,ak2,…,akm>,其中k1<k2<…<km且aK1<ak2<…<akm。求最大的m值。   算法思想(参考http://hi.baidu.com/silverxinger/blog/item/571e7cdb996d1c02632798ad.html 和 http://topic.csdn.net/t/20030731/21/2095180.html): 数组l[i]   记录   长度为i的   递增子串   的 ...
JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method) 堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)
Global site tag (gtag.js) - Google Analytics