1.Java中HashMap遍历的两种方式
两种方式推荐下面这种
Iterator iter = hMap.entrySet().iterator();
Map.Entry entry = (Map.Entry) iter.next();
(int) entry.getKey();
(int) entry.getValue();
http://www.cnblogs.com/meieiem/archive/2011/11/02/2233041.html
2.java中PriorityQueue优先级队列使用方法
http://blog.csdn.net/hiphopmattshi/article/details/7334487
3.java/C++位操作
位操作只能用于整形数据
算数移位与逻辑移位在左移是一样的,都补0,右移算术移位是根据符号位添加,逻辑右移还是直接补0
常用位操作小技巧http://blog.csdn.net/morewindows/article/details/7354571
判断奇偶,交换两数,交换符号,计算绝对值
4.寻找第k大的值方法
http://weishi2007.blog.163.com/blog/static/20417950201272343352311/
http://www.cnblogs.com/zhjp11/archive/2010/02/26/1674227.html
1)先排序,再取
2)维持一个k大小的堆
3)借鉴快速排序的思想,循环分区直至flag节点等于k