算法
文章平均质量分 78
技术少有新鲜事
这个作者很懒,什么都没留下…
展开
-
BitMap算法
概述所谓bitmap就是用一个bit位来标记某个元素对应的value,而key即是这个元素。由于采用bit为单位来存储数据,因此在可以大大的节省存储空间算法思想32位机器上,一个整形,比如int a;在内存中占32bit,可以用对应的32个bit位来表示十进制的0-31个数,bitmap算法利用这种思想处理大量数据的排序与查询优点: 效率高,不许进行转载 2016-11-28 20:55:11 · 441 阅读 · 0 评论 -
Java实现2-BitMap排序
2-BitMap算法是BitMap算法的一种扩展,核心是:每个数分配2个bit,00表示不存在,01表示出现一次,10表示出现2次,11表示多次或无意义。一个int类型,占4个字节,在2-BitMap中可以表示16个数,表示全部int类型数据需要内存2^32*2bit=1G。时间复杂度O(n)。经常用来解决的问题如下: 2.5亿个整数中找出不重复的整数的个数,内存空间不原创 2016-11-28 20:22:29 · 4015 阅读 · 0 评论 -
判断数学表达式是否合法
要求:输入一个表达式,判断这个表达式是否数学表达式思路:判断每一个字符,如果是数字,根据数字规则判断;如果是运算符,根据运算符规则判断。方法比较笨代码实现如下:/** * 检查表达式是否合法,合法返回true * @param expression * @return */private boolean checkExpression(String expression)原创 2017-06-16 10:11:48 · 13793 阅读 · 2 评论