摘要: 1. 什么是ThreadLocal ThreadLocal是一个提供线程本地变量(线程局部变量 / thread-local variables)的类。每一个通过set或get方法访问ThreadLocal变量的线程,都会生成独立的,只属于这个线程变量的副本(“every thread that a... 阅读全文
posted @ 2013-03-12 16:08 macemers 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 题目:水王发帖的数量超过总贴数的一半,已知所有帖子的发帖ID列表,请快速找出水王ID 思路:除了最为直观的排序法+遍历外,突破口在发帖总数超一半的这个点上。水王id和其它的id可以相互抵消,最后留下的肯定是水王的id。只需要O(n)。 1 int findHalfId(const int ... 阅读全文
posted @ 2012-09-21 10:43 macemers 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 给定两个字符串s1和s2,要求判断s2是否能够被s1做循环移位得到的字符串包含。例如,给定s1=AABCD和s2=CDAA,返回true;给定s1=ABCD,s2=ACBD,返回false。 思路:最直接的方法是循环移位s1,遍历s1并判断是否包含s2。但这种方法效率不高。经书本提示,问题可转换为... 阅读全文
posted @ 2012-09-20 14:12 macemers 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 假设一个没有头指针的单链表,只有一个指向中间节点(不是头尾节点)的指针,请将该节点从单链表中删除。 思路:假设中间一段链表为 A->B->C,而p指向节点B。因为没有头节点,其实无法追溯回A,然后使A->C。所以这里的技巧是将C中的value值赋给B中,使B成为C,然后删除真正的C,从而达到目的。... 阅读全文
posted @ 2012-09-20 13:22 macemers 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 判断两个链表是否相交,若相交则求其交点(指第一个相交的点)。 思路1,利用计数法: 遍历链表1,将其节点的内存地址存入map或者hashmap内。然后遍历链表2,并查询map或者hashmap,判断链表2节点是否在里面。若存在,则两者相交,且交于此节点。此方法时间复杂度是O(Length(List... 阅读全文
posted @ 2012-09-20 10:29 macemers 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 主要有如下问题: 1.判断单链表是否有环 2.求环的长度 3.找出环的入口节点 4.求带环链表长度 思路: 1. 判断是否有环,首先想到的思路是利用Hashmap存储访问过的节点,然后每次访问下一个节点前先判断节点是否在Hashmap中存在。 一旦存在,则存在环。这种解法需要格外的存储空间,并不是... 阅读全文
posted @ 2012-09-18 16:24 macemers 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 对集合或数组进行排序有两种方法: 1.集合中的对象所属的类实现了java.lang.Comparable 接口,然后调用Collections.sort()或者Arrays.sort()2.实现java.lang.Comparator接口,把这个实现接口的类作为参数传递给上述的sort()方法。 先... 阅读全文
posted @ 2012-09-11 09:52 macemers 阅读(4462) 评论(0) 推荐(0) 编辑
摘要: CountDownLatch位于java.util.concurrent包下,是JDK1.5的并发包下的新特性。 首先根据Oracle的官方文档看看CountDownLatch的定义: A synchronization aid that allows one or more threads t... 阅读全文
posted @ 2012-08-28 13:46 macemers 阅读(4115) 评论(1) 推荐(0) 编辑
摘要: 在linux下装Java,主要分两步:1.解压安装.bin文件;2.设置环境变量 1.解压安装.bin文件 (1)在Oracle网站上下载最新的jdk的bin版本,我用的是jdk6 http://www.oracle.com/technetwork/java/javase/downloads/jdk... 阅读全文
posted @ 2012-08-23 13:57 macemers 阅读(1384) 评论(0) 推荐(0) 编辑
摘要: 1. mv mv除了可以用于移动文件,还可以用于重命名文件或文件夹: 1 derek@derek-VirtualBox:~$ mkdir test2 derek@derek-VirtualBox:~$ mv test test23 derek@derek-VirtualBox:~$ ls4 Pu... 阅读全文
posted @ 2012-08-23 11:10 macemers 阅读(473) 评论(0) 推荐(0) 编辑