使用bitmap对一个大小在一定范围内的无重复数据排序(比如电话号码)|在一个大小在一定范围内的数据集中查找重复数据
2013-08-04 17:57
281 查看
/** * Bitmap.java */ package Algorithm; import java.util.BitSet; import org.junit.Test; /** * @Author: chenxiaoyu * @Date: 2013-8-2下午12:23:14 * @Description:使用bitmap需要一堆数都在一个特定的范围内 */ public class Bitmap { static int[] array = RandomNum.getRandom(0, 1000000 , 10); static int MaxIndex = array.length - 1; static int[] mixarray = new int[]{1,2,4,6,3,8,9,0,4,5,6}; static int MaxMixIndex = mixarray.length - 1; static int size = 1000000; //使用bitmap对一个大小在一定范围内的无重复数据排序(比如电话号码) @Test public void order(){ BitSet bs = new BitSet(size); for(int i=0; i<size;i++){ bs.set(0,false); } for(int i=0; i<=MaxIndex; i++){ bs.set(array[i], true); } System.out.println("order:"); for(int i=0; i<size;i++){ if(bs.get(i)){ System.out.println(i); } } } //使用bitmap在一个大小在一定范围内的数据集中查找重复数据 @Test public void duplicate(){ BitSet bs = new BitSet(size); for(int i=0; i<size;i++){ bs.set(0,false); } System.out.println("duplicate:"); for(int i=0; i<=MaxMixIndex; i++){ if(!bs.get(mixarray[i])){ bs.set(mixarray[i], true); }else{ System.out.println(mixarray[i]); } } } }
相关文章推荐
- 算法随机在一定范围内(min-max)选出m个不重复的数据放到一个数组中
- 编写一个使用数组类模板Array对数组进行排序、求最大值和求元素和的程序,并采用相关数据进行测试。
- 2-bitmap实现海量数据查找不重复数据
- 使用exception来查找重复的数据
- 使用MapReduce查找数据库表的重复数据
- 数据结构——算法之(005)(输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字)
- 编写一个使用数组类模板Array对数组进行排序、求最大值和求元素和的程序,并采用相关数据进行测试。
- filter()的参数内容,查找语句。其中in可以在一个结果集中查找是否包含另一个结果集的数据。
- 位图 查找重复 排序 存数据
- SQL Server 排序数据表使用空间大小
- NYOJ 贪心 vector的使用,是一个数组,有重复数据,可以下标访问
- 请问一下,我要向一个表插入数据,根据ID,重复的更新,没有的插入,不使用COUNT后判断,能做到吗?
- 一个使用cv::Mat按单通道读取数据然后按照灰度范围设置灰度的例子
- 实现一个排序算法,对0~n-1范围内的n个不重复的无序数组进行排序,时间复杂度为O(n),空间复杂度为O(1)。
- 鸽巢排序:对一组集中且重复的数据进行排序
- 面试题:如何在一千万个不重复整数(电话号码)中查找某个特定数 位运算 bitmap
- EXCEL 查找特定匹配数据,筛选重复行等+一个小工具
- ArrayTool是一个定义了操作数组常用的工具类,比如求最大值,排序,查找
- 使用SQL语句查询经纬度之间的距离和一定范围内的数据
- 查找与排序:利用基数排序对0~100范围内数据实现排序