bitmap是一种简单的数据结构,但在存储空间压缩方面却使用广泛。
bitmap就是用一个bit位来标记某个元素是否存在:1表示存在,0表示不存在;而2-bitmap就是用两个bit为来标记某个元素出现的次数:00出现0次,01出现1次,10出现2次及其以上,11无意义。
2-bitmap在内存中的表示如下:
[0] [1] [2] ……
|00 00 00 00|00 00 00 00|00 00 ...
分类:
其他好文 时间:
2014-06-29 07:29:20
阅读次数:
300
统计随机生成的数出现次数
/**
* 功能:定义一个一维数组,其中存储随机生成的1000个1到100以内的整数,统计每个整数出现的次数
* 时间:2014年6月4日16:03:54
* 作者:cutter_point
*/
package com.lesson4;
import java.util.*;
public class Demo4_9
{
public static ...
分类:
其他好文 时间:
2014-06-20 09:29:02
阅读次数:
226
POJ 2282 The Counting Problem,组合数学
ACM
题目地址:POJ 2282
题意:
给出俩数n,m,求从n~m中0~9分别出现的次数。
分析:
组合数学。
只要能快速算出0~n中各个数的出现次数就能解决问题了。
要把数拆开来看,比如3456=3000+400+50+6。
然后就只要考虑后面都是0的数就行了。
0~...
分类:
其他好文 时间:
2014-06-07 15:38:04
阅读次数:
195
我做这道题,是先用二分查找找到该数字,而后再遍历其前后相同的数字,统计次数。这种做法的平均时间复杂度为O(logn),最坏情况下为O(n),剑指offer上给的思路是两次用二分查找分别找到该数字第一次和最后一次出现的位置,这样的时间复杂度平均和最坏都是O(logn),稍好些》
下面贴上我按照自己思路写的代码:...
分类:
其他好文 时间:
2014-06-07 01:19:45
阅读次数:
197
这道题本来想对了,可是因为hdu对pascal语言的限制是我认为自己想错了,结果一看题解发现自己对了……题意:给以字符串计算出以前i个字符为前缀的字符中在主串中出现的次数和如:num(abab)=num(a)+num(ab)+num(aba)+num(abab)=2+2+1+1=6;题解:next[...
分类:
其他好文 时间:
2014-06-06 17:30:22
阅读次数:
227
水题。描写叙述的还挺麻烦的,实际上就是纸老虎,用两个string,一个存上一轮的结果,一个用来更新出这一轮的结果,每次扫描上一轮,统计一个字符出现的次数,然后把这个次数和字符增加到这一轮的字符串中就能够了。class
Solution {public: string countAndSay(i...
分类:
其他好文 时间:
2014-06-05 18:34:43
阅读次数:
204
处理字符串中重复或者次数出现等问题,最常用的就是哈希表,用字符串中的字符作为key,字符出现次数作为value,假定只有ASCII码范围内的字符,则可以开辟一个256大小的int数组,将每个字符(key)映射到该数组的对应位置上,计算每次出现的次数即可,遍历一次字符串,计算每个字符出现的次数,保存在int数组的对应位置上,第二次遍历字符串,若第一次出现某个字符对对应到的哈希表的对应位置处的元素为1,则该字符便是第一个只出现一次的字符,如果我们是遍历哈希表(int数组),则找到的哈希表中的第一个元素为1的位置...
分类:
其他好文 时间:
2014-06-05 01:21:30
阅读次数:
294
思路:我们先写一个函数,求出从1到整数n之间1出现的次数,而后分别将要求输入的两个数(具体说,应该是最大的数,和最小的数减去1)作为参数传入该函数,得到的值相减,即可得到二者之间的的数中1出现的次数。
最简单的方法,分别求从1到n之间每个数中的1的个数,由于整数n的位数为O(logn),我们要判断一个数有多少个1,需要判断其每一位是否为1,这样一个数就需要判断O(logn)次,而总共有n个数需要求,那么该方法的时间复杂度为O(nlogn)。在九度OJ上用该方法写的代码测试,会超时。
剑指of...
分类:
其他好文 时间:
2014-06-03 01:43:22
阅读次数:
282
方法1.自定义类 class CharNum { private char c;
private int num; public char C { get { ...
分类:
其他好文 时间:
2014-06-02 22:18:42
阅读次数:
329
http://blog.chinaunix.net/uid-23577393-id-1751983.htmlTo
count how often any pattern occurs in the current buffer use the
substitutecommand and add th...
分类:
其他好文 时间:
2014-05-29 17:37:03
阅读次数:
217