BitMap 用于查重..只能查数字

转载 2012年03月26日 09:58:18
Java代码 复制代码 收藏代码
  1. package ansj.sun.util;   
  2. public class BitMap {   
  3.   
  4.     private static final byte MAX = 127;   
  5.   
  6.     public static void main(String[] args) throws InterruptedException {   
  7.         int m = 1578015112 ;   
  8.            
  9.         BitMap hm = new BitMap() ;   
  10.            
  11.         hm.add(m) ;   
  12.            
  13.         System.out.println(hm.contains(m));   
  14.     }   
  15.   
  16.     public BitMap() {   
  17.         bytes = new byte[12500000];   
  18.     }   
  19.   
  20.     public BitMap(int size) {   
  21.         bytes = new byte[size];   
  22.     }   
  23.   
  24.     private byte[] bytes = null;   
  25.   
  26.     public void add(int i) {   
  27.         int r = i / 8;   
  28.         int c = i % 8;   
  29.         bytes[r] = (byte) (bytes[r] | (1 << c));   
  30.     }   
  31.   
  32.     public boolean contains(int i) {   
  33.         int r = i / 8;   
  34.         int c = i % 8;   
  35.         if (((byte) ((bytes[r] >>> c)) & 1) == 1) {   
  36.             return true;   
  37.         }   
  38.         return false;   
  39.     }   
  40.   
  41.     public void remove(int i) {   
  42.         int r = i / 8;   
  43.         int c = i % 8;   
  44.         bytes[r] = (byte) (bytes[r] & (((1 << (c + 1)) - 1) ^ MAX));   
  45.     }   
  46.   
  47. }

java 一组数字的查重算法

今天编程遇到了一个数组查重假排序的问题,以为很简单做起来还真有点费劲。特此参考网上和自己思考动手写了几个查重算法,记录下来以备查看。 算法一、 时间复杂度为n /** * 该方法根据集合类中的s...
  • sinat_34322082
  • sinat_34322082
  • 2016年11月10日 21:35
  • 2004

C++ 字符串查重

前几天遇到一个笔试题目是有关字符串查重的问题,这个也是出现频率很高的题目类型,在这里就自己写写记录一下啦! 题目的大概意思是:给两个字符串,删除第一个字符串中与第二个字符串中字符相同的字符,并输出删除...
  • wangqiaozhi
  • wangqiaozhi
  • 2014年01月04日 15:07
  • 1447

mysql查重语句

整理数据的时候经常用到: select count(*),serie_code from serie where from_type='ycw' group by serie_code havi...
  • weinichendian
  • weinichendian
  • 2015年10月30日 14:33
  • 4457

字符串查重

package Lianxi1213;public class Geci { public static void main(String[] args) { String s...
  • ytfunnysite
  • ytfunnysite
  • 2016年12月14日 12:28
  • 298

ArrayList集合内容查重

import java.util.ArrayList; import java.util.Collections; import java.util.List; //arrayList查重:1....
  • chengyuan520
  • chengyuan520
  • 2016年05月28日 22:06
  • 776

查重字符串

记录方法 for(i = 0; str[i] != '\0'; i++) { record[str[i]]++; //记录出现次数 if(1 == jilu[str[i]]) { resu...
  • zhangxuechao_
  • zhangxuechao_
  • 2015年01月29日 14:26
  • 891

SQL表内查重和删重

查询重复记录select * from my_tab where dup_col in( select dup_col from my_tab group by dup_col ha...
  • fm0517
  • fm0517
  • 2017年03月10日 17:47
  • 1480

sql同表查重

如果employee表中的employee_no的字段有重复值,而实际情况又是不应该有重复值的,所以如果有重复值的话,就需要将它查出来,以下给出解决办法: select employee_no,em...
  • mx5721
  • mx5721
  • 2012年09月21日 17:29
  • 3634

探讨一下论文查重系统的设计方法

对于论文查重系统,见过了一些,主要设计思路都是依据模糊搜索+“关键词”,对于大段文字的对比,确实是一个看似简单而又复杂的问题。 按软件开发者思路,这类软件的起源应该不是抄袭之风严重,而是被举报者众多...
  • lizhaoc
  • lizhaoc
  • 2012年09月11日 00:46
  • 2583

数组查重(C++)

今天课上实验课,遇到一道题目,需要查找一个数组中出现次数最多的元素和次数,并且输出。第一次用struct模拟字典,十分麻烦而且复杂度是O(n*n)。其实,运用转化的思想,可以先将其排序,然后再查找即可...
  • AsuraDong
  • AsuraDong
  • 2017年06月14日 21:44
  • 303
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:BitMap 用于查重..只能查数字
举报原因:
原因补充:

(最多只允许输入30个字)