摘要:这里利用了奇偶性质,如果最大数和最小数不相等,那这个区间当中的数进行与操作,一定会导致最低位变为0.同理对于次低位可以使用同样的道理。[1] http://www.cnblogs.com/aboutblank/p/4442193.html
阅读全文
摘要:这里可以使用queue在有的地方看大使用两个queue,一个queue保存上面哪一层的node,然后另外一个临时queue在保存那个queue的孩子节点,最后当第一个queue遍历完了之后,在将其放到第一个queue当中。在[1]当中发现,没有必要这样做,实际上在开始遍历queue的时候,里面的no...
阅读全文
摘要:主要是如何实现在某些层的翻转,使用两个队列。记录两个层。如果需要翻转,则翻转。这里实际上有一个翻转的消耗。可以使用双端队列,在插入时就是正确的顺序,无需翻转。 1 2 3456 7level 1: 1level 2: 3 2level 3: 7 6 5 4使用flag控制读写方向即可,这样放到lis...
阅读全文
摘要:两种思路一、level by level使用两个queue,queue1记录当前访问的层,queue2记录下一个层,最后queue1清空,queue2拷贝至queue1.二、depth first traval使用参数传递level,在适当的时刻增加层数[1]http://www.cnblogs.c...
阅读全文
摘要:因为有了next指针,所以访问过的每一层都是可以遍历的,同样的方式可以得到下一层的情况 1 /** 2 * Definition for binary tree with next pointer. 3 * public class TreeLinkNode { 4 * int val...
阅读全文
摘要:后序遍历的遍历中,某一个节点要被输出,在两种情况下:当前节点的左右孩子为空;当前节点的左右孩子已经被访问。第一种情况非常容易判断第二种情况需要记录访问过的节点,显然当前节点如果有孩子,则对它的访问会紧跟在它的孩子节点之后,无论是左右。所以只需记录每次访问的节点,就Ok![1]http://www.c...
阅读全文
摘要:[1] http://www.cnblogs.com/mchina/archive/2012/11/28/2778779.html
阅读全文
摘要:一、一个直接的思路是枚举每一种元素出现的次数,这里实际上是没有重复时的推广,没有重复的时候,出现次数是0 or 1.返回条件:当前遍历的所有元素的个数已达到最大。这里的关键实际上变为了如何枚举所有的个数,这种个数可以看做是一种状态,比如:1 1 1 1 2 2 2 3 3 3 4 4alldigit...
阅读全文
摘要:[1] http://www.cnblogs.com/easonliu/p/3696135.htmlDP
阅读全文
摘要:[1] http://blog.csdn.net/doc_sgl/article/details/11832965
阅读全文
摘要:首先将array1当中的数据后移,后移长度为array2的大小
阅读全文
摘要:这里要保留一个重复元素,所以只需和前面的比较就可以了。如果当前元素和prenode不相等,就就如,否则说明已经加入。
阅读全文
摘要:对于重复元素不在保存对于每一个元素判断,是否和前后人一个相等,若相等,则不加入
阅读全文
摘要:只考虑左半部分[1] http://www.2cto.com/kf/201401/272968.html
阅读全文
摘要:ASCII码ISO-88591是7位编码,其中0-31,127是不可打印字符32-126在键盘上都分配了可打印字符能够表示更多的字符,出现了对其扩展,所以有8位编码,扩展的ASCII码。[1] http://www.asciima.com/
阅读全文
摘要:Larget Rectangle in Histogram关于问题的描述不再赘述。算法的主要思路实际上就是要找某一个高度的最右边界和最左边界,所谓最右边界是最后一个比它高或者等于它的索引位置index1,所谓最左边界是第一个比它高或者等于它的索引位置index2。那么area =height*(in...
阅读全文
摘要:[1] http://blog.csdn.net/jellyyin/article/details/10313827使用hashmap维护当前的所访问到的字符的个数。并且判断是否满足全部包含的情况,如果全部包含,则停下来,进行必要的收缩。如果当前的窗口小,则更新之。
阅读全文
摘要:[1] http://blog.csdn.net/lanxu_yy/article/details/11907615每当遇到0,则放到当前可放置的最左端‘如果遇到2,则放到当前可放置位置的最右边。具体的过程:如果当前元素是2,那么将其交换到最右边,rightindex--,同时当前index不变如果...
阅读全文
摘要:[1] http://www.cnblogs.com/kaituorensheng/p/3706360.html在每一层使用for循环,遍历所有可能的开始节点[2]另外一种思想是深度遍历列表,在每一次访问,都作出添加和不添加两种选择
阅读全文
摘要:[1]http://www.cnblogs.com/jianxie/p/3990377.html
阅读全文
摘要:violate在多线程当中的用来修饰某个变量,这个变量只有一份,也就是不存在多线程cache它们本地的情况出现。从而保证对他的读和写是唯一的,不会存在不一致的情况。一、适用的情况对于某个变量只有读和写两种单一操作。violate int count;count=1;count=0;if(count=...
阅读全文
摘要:参考[1] http://blog.csdn.net/super_chris/article/details/7187376
阅读全文
摘要:逻辑斯特回归据说在一些大公司用的比较多,主要是简单可依赖!【1】 http://www.cnblogs.com/deepblueme/p/4789463.html
阅读全文
摘要:[1] http://tieba.baidu.com/p/1586488031
阅读全文
摘要:区别1、String是不可变类,StringBuffer是可变类如果要对String对象进行修改,则是新建了一个原来的String的拷贝,并且拷贝是StringBuffer,StringBuffer.toString()转换为String修改是在拷贝上进行的。2、String是线程不安全的,后者是安...
阅读全文