这个题是找出无序数组里面的第一个不连续的正整数,而且时间复杂度不超过O(n)。首先分析一下:数组是无序的,需要找出第一个不连续的数字,而排序的算法一般很难达到O(n)的时间复杂度。这个时候我们必须得明白一种做法:空间换取时间的做法,我首先想到的是位图即bitmap(STL中交bitset),位图可以节约空间,而且可以判断出数字是否出现,真的是比较理想的数据结构。于是我就在函数中使用了bitset:...
分类:
其他好文 时间:
2016-05-18 19:49:38
阅读次数:
179
做一个题就可以进初赛,所以挑了个简单的题做了下,还是TLE 了好几次 汗, 然后用string sort 936ms 卡过 (┬_┬)
试了map+bitset, 用不了,
试了自己搞个数组+map, 用不了
然后用string初始化为200多个0,然后每个字母就变成1,TLE, 而且 显然也不对
然后用直接字符串读取进来, 然后用map 结果超时了
然后突然想到了,string 也可以排序, 这样用map[string]++, 才来个卡过
题目虽然是简单题,但还是有所收获,毕竟新手嘿嘿...
分类:
其他好文 时间:
2016-05-16 07:08:14
阅读次数:
226
tarjan缩点后拓扑排序,每一个点用一个bitset记录哪些点能到达它。 PS:数据太水,暴力能过。 ...
分类:
Web程序 时间:
2016-05-15 21:31:18
阅读次数:
259
一、什么是BitSet? 注:以下内容来自JDK API: BitSet类实现了一个按需增长的位向量。位Set的每一个组件都有一个boolean值。用非负的整数将BitSet的位编入索引。可以对每个编入索引的位进行测试、设置或者清除。通过逻辑与、逻辑或和逻辑异或操作,可以使用一个 BitSet修改另 ...
分类:
编程语言 时间:
2016-05-13 23:05:12
阅读次数:
241
今天打算使用redis 的bitset搞一个 bloom filter, 这样的好处是可以节省内存,坏处是可能在会有一些数据因为提示重复而无法保存。 bloom filter 的大体原理就是通过不同的hash函数将一个字符串映射到几个不同的位,并将这几个不同的位设置为1. 如果在查找某个字符串的时候 ...
分类:
其他好文 时间:
2016-05-11 23:53:22
阅读次数:
358
由Java工具包中提供的数据结构是非常强大的,执行多种功能。这些数据结构包括以下接口和类: Enumeration BitSet Vector Stack Dictionary Hashtable Properties Enumeration BitSet Vector Stack Dictiona ...
分类:
编程语言 时间:
2016-05-08 15:20:09
阅读次数:
195
java.util.ArrayList
详细注释了ArrayList的实现,基于JDK 1.8 。
迭代器SubList部分未详细解释,会放到其他源码解读里面。此处重点关注ArrayList本身实现。
import java.util.AbstractList;
import java.util.Arrays;
import java.util.BitSet;
impor...
分类:
编程语言 时间:
2016-04-22 20:22:57
阅读次数:
255
题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 Solution 1: class Solution { public: int NumberOf1(int n) { bitset<32> bit(n); return bit.count(); } }; Solution ...
分类:
其他好文 时间:
2016-04-05 13:59:49
阅读次数:
84
在遥远的东方,有一个神秘的民族,自称Y族。他们世代居住在水面上,奉龙王为神。每逢重大庆典, Y族都会在水面上举办盛大的祭祀活动。我们可以把Y族居住地水系看成一个由岔口和河道组成的网络。每条河道连接着两个岔口,并且水在河道内按照一个固定的方向流动。显然,水系中不会有环流(下图描述一个环流的例子)。 由
分类:
其他好文 时间:
2016-03-16 07:04:52
阅读次数:
205
从输入样例中可以发现,约翰已经知道的排名有奶牛2>奶牛1>奶牛5和奶牛2>奶牛3>奶牛4,奶牛2排名第一.但是他还需要知道奶牛1的名次是否高于奶牛3来确定排名第2的奶牛,假设奶牛1的名次高于奶牛3.接着,他需要知道奶牛4和奶牛5的名次,假设奶牛5的名次高于奶牛4.在此之后,他还需要知道奶牛5的名次是
分类:
其他好文 时间:
2016-03-15 23:33:35
阅读次数:
355