由买买提看人间百态

topics

全部话题 - 话题: bitset
1 2 3 4 下页 末页 (共4页)
d******i
发帖数: 7160
1
来自主题: JobHunting版 - leetcode不支持bitset?
放函数外边报错: "Line 7: 'bitset' does not name a type"
class Solution {
public:
set t;
bitset<1000> ss;
int XXX{
...}
放里边报错 “Line 12: 'bitset' was not declared in this scope”
int XXX {
set t;
bitset<1000> ss;
...}
set能过。vc都过。
更奇的是
std::set uu;
std::bitset<100> vv;
set能过
bitset 报错 Line 15: 'bitset' is not a member of 'std',
咋肥四?
stl标准都支持吧?
t*i
发帖数: 72
2
来自主题: Programming版 - g++找不到bitset
code:
#include
int main()
{
}
error message:
bitset: no such file or directory
我用的是哪个cygnus solution.用了很久都没啥问题,今天要用bitset就出问题了。
d******i
发帖数: 7160
3
来自主题: JobHunting版 - leetcode不支持bitset?
在头上加了:
#include
using namespace std;
没用。
报错 Line 18: 'bitset' is not a member of 'std'
笑点是set,stack,vector啊 都可以用,不需额外声明什么header。
不知leetcode用的是哪门子的stl,lol.
h**o
发帖数: 548
4
来自主题: Programming版 - 请问如何写bitset or bitmap
就是programming pearl里的在bitset 里做标记的题,
请问既然 每个 bitset 只占一个bit, 那应该定义为什么类型?
p*****e
发帖数: 310
5
【 以下文字转载自 Computation 讨论区 】
发信人: pinacle (大石头), 信区: Computation
标 题: c++的bitset和C的按位操作哪个效率高?
发信站: BBS 未名空间站 (Tue Jun 23 11:49:55 2009, 美东)
有16个0-1状态放在一起,然后用相应的整数来表示整体状态。两种方法:
1. 用bitset<16>存储状态量然后用to_ulong得到对应整数;
2. 直接用整数存储,然后相应二进制位进行按位操作。
请问哪一种方法效率高?最省时间?
j***i
发帖数: 1278
6
来自主题: Programming版 - 如何得到位数可变的bitset
在函数里面用bitset
func(int n)
{bitset b;}// 编译不过a local variable cannot be used as a
//non-type argument
如何实现这个?
X****r
发帖数: 3557
7
来自主题: Programming版 - 如何得到位数可变的bitset
如果你要用整数的话是不是意味着不超过32或64位?
要是这样的话直接用bitset<32>或bitset<64>不就完了。
z****e
发帖数: 2024
8
来自主题: Programming版 - 如何得到位数可变的bitset
如果你一定要用 bitset的话,我感觉是不可能动态决定的。
因为bitset是一个类型。

e*l
发帖数: 37
9
来自主题: Programming版 - 如何得到位数可变的bitset
如果你一定要使用bitset, 可以考虑boost库里的dynamic_bitset
http://www.boost.org/doc/libs/1_43_0/libs/dynamic_bitset/dynamic_bitset.html
这个是对标准库的bitset的扩展,可以动态指定大小,应该满足你的要求.
g*********s
发帖数: 1782
10
来自主题: Programming版 - 未知大小的bitset能做参数吗?
想实现下面的功能:
int f(int t) {
vector x;
x.resize(t);
bitsety;
g(x, y);
}
void g(const vector& x, bitset& y);
c******f
发帖数: 2144
11
const int size = 1024;
bitset sieve;
sieve.flip();
int finalBit = sqrt(sieve.size())+1;
for (int i=2;i if (sieve.test(i))
for(int j = 2*i;j sieve.reset(j);
Question:
In this program we set all 1024 bits as all "1"(which means 1111...111)
here we will find 2 and set all numbers like 4, 6, 8, ...,10 to 0
then find 3 and set all numbers like 6,9,12...to 0
then find 4 and set all numbers like 8,12,...to 0
until the loop is finished, we will find
r*******e
发帖数: 7583
12
来自主题: JobHunting版 - leetcode不支持bitset?
自己加#include
d*****t
发帖数: 7903
13
来自主题: Hardware版 - 现在有什么DVD drive 可以bitset?
可惜我的电脑都是DEll, 用imgburn就通不过验证,比如这个:HL-DT_ST BD-RE BH30N.
高了一个晚上了。最奇怪的是笔记本上的HL-DT_ST DVDRW GSAS10N能通过验证,刻录过
程正常,显示bitset DVD-ROM, 但是最后读入还是DVD+R!
不知怎么回事。
t*i
发帖数: 72
14
来自主题: Programming版 - g++找不到bitset
我在XP下用g++编译
我装的是cywin的cygnus solutions.
我一个源程序
#include
编译的时候总是报告找不到这个文件, 我该怎么办
t****t
发帖数: 6806
15
来自主题: Programming版 - g++找不到bitset
你gcc啥版本? 我刚在这里试了试用bitset, 挺好的
我也是gcc/cygwin, 3.4.4
S**I
发帖数: 15689
16
来自主题: Programming版 - 如何得到位数可变的bitset
template
func()
{bitset b;}
or simply use vector instead.

j***i
发帖数: 1278
17
来自主题: Programming版 - 如何得到位数可变的bitset
effective stl 说了不要用vector bool
而且我想用整数直接得到对应bitset, 这个也不支持
j***i
发帖数: 1278
18
来自主题: Programming版 - 如何得到位数可变的bitset
就是
bitset<4>a(12)
e*l
发帖数: 37
19
来自主题: Programming版 - 如何得到位数可变的bitset
但是你可以使用deque,这个满足标准容器的要求,而且存储是真正的bool类型
bitset的大小是编译期常量,不能动态指定,且不是标准容器
l******e
发帖数: 12192
20
vector就是bitset

y***d
发帖数: 2330
21
那个也没有 reset 的功能;最后我自己写了个 bitset 代码;没有复杂地搞
reference,就 get/set/reset/resize 就行了
p*****e
发帖数: 310
22
有16个0-1状态放在一起,然后用相应的整数来表示整体状态。两种方法:
1. 用bitset<16>存储状态量然后用to_ulong得到对应整数;
2. 直接用整数存储,然后相应二进制位进行按位操作。
请问哪一种方法效率高?最省时间?
y*******g
发帖数: 6599
23
位移吧, STL的bitset很慢
f******8
发帖数: 93
24
来自主题: Programming版 - python大牛请进有问题求教
工作中用的py程序,完全看不懂啊!!!真的给跪了!!!哪个牛人能给注释下,不用
详细大体说下这程序咋运行得就行。。。。。
"""
Compute the intersection of two sets of genomic intervals, either base-by-
base
or at the interval level. The returned GenomicIntervalReader will be in
the order of the first set of intervals passed in, with the corresponding
additional fields.
"""
import traceback
import fileinput
from warnings import warn
from bx.intervals.io import *
from bx.intervals.operations import *
def intersect(readers, mincols=1, upstream_pad=0, downstre... 阅读全帖
s******7
发帖数: 1758
25
我试着写了下,用java bitset会简单点,assume Location里有block的index, 这种题
没见过估计和楼主一样死翘翘
class Location{
int idx; //block index
public Location(int idx){
this.idx=idx;
}
}
public class myPBuffer extends pBuffer{

BitSet bitSet = new BitSet(1024);
@Override
public Location allocate() throws RuntimeException {
return new Location(bitSet.nextClearBit(0));
}
@Override
public void put(Location l, byte[] data) {
int p = l.idx*1024;
int len = Math.m... 阅读全帖
S*******C
发帖数: 822
26
/**
* 10.3 Given an input file with four billion non-negative integers, provide
an algorithm
to generate an integer which is not contained in the file. Assume you have
1 GB of
memory available for this task.
FOLLOW UP
What if you have only 10 M8 of memory? Assume that all the values are
distinct and
we now have no more than one billion non-negative integers.
CC Page 347
*/
import java.io.*;
import java.util.Scanner;
//A bit array (also known as bitmap, bitset, bit string, or bit vector) is
an ar... 阅读全帖
T*********g
发帖数: 496
27
来自主题: Java版 - 那个数组找duplicate的面试题
public class FindDuplicate {
public static void main(String[] args) {
int[] input = {1, 2, 3, 4, 5, 6, 1, 3, 4};
BitSet bitSet = new BitSet();
for (int i : input) {
if (bitSet.get(i)) {
System.out.println("duplicate is " + i);
} else {
bitSet.set(i);
}
}
}
}
呵呵
j*******r
发帖数: 52
28
试贴一个C++代码,循环+递归,用一个bitset代表当前字符是否已经在之前位置被使用。
1 #include
2 #include
3 #include
4
5 using namespace std;
6
7 void permutation(const char* str, bitset<4> used, string r){
8 if(r.size() == strlen(str)){
9 cout< 10 }
11 for(int i = 0; i < strlen(str); ++i){
12 if(used[i])
13 continue;
14 used.set(i);
15 r += str[i];
16 permutation(str, used, r);
17... 阅读全帖
j*******r
发帖数: 52
29
试贴一个C++代码,循环+递归,用一个bitset代表当前字符是否已经在之前位置被使用。
1 #include
2 #include
3 #include
4
5 using namespace std;
6
7 void permutation(const char* str, bitset<4> used, string r){
8 if(r.size() == strlen(str)){
9 cout< 10 }
11 for(int i = 0; i < strlen(str); ++i){
12 if(used[i])
13 continue;
14 used.set(i);
15 r += str[i];
16 permutation(str, used, r);
17... 阅读全帖
f*******l
发帖数: 66
30
来自主题: JobHunting版 - 贡献今天facebook电面 一道题
#include
#include
using namespace std;
bool isValid( char currentChar,int x, int y, int columnSize, int
rowSize,
char desiredChar, bitset <20> mybitset )
{
if(x < 0 || x > columnSize || y < 0 || y > rowSize )
{
return false ;
}
if ( mybitset[x*columnSize+y] == 1 )
{
return false;
}
if ( currentChar != desiredChar)
{
return false ;
}
return true ;
}
bool moveforward( int rowSize, int columnSize, char Array[][4], int... 阅读全帖
r****s
发帖数: 42
31
来自主题: JobHunting版 - saleforce 店面,攒人品吧。
补充点知识,大家共勉,呵呵:
上面有童靴说,java的boolean存储是jvm dependent的,常见的是 1byte。
我去考古了下,确实Java的虚拟机不给力吖,处理boolean数组,元素是当成1 byte处
理。但理论上应该是1 bit的。因此,在遇到要用boolean数组时,应该用java.util.
BitSet 来替换boolean数组。BitSet is a vector of bits, JVM对BitSet 确实是按 1
bit处理的。这个工作时尤其处理后台大数据,用BitSet能省很多资源。
参考链接: http://chrononsystems.com/blog/hidden-evils-of-javas-byte-array-byte
w****o
发帖数: 2260
32
来自主题: JobHunting版 - 弱弱的问问bitmap?
通常说的bitmap是不是指的就是一串1/0的bits?
C++ STL里的bitset是不是就是一种实现bitmap的方式?
不过发现bitset定义的时候要申明大小,比如 bitset<50>就是大小为50bits的bitmap,
如果程序运行中想增加size该怎么办呢?
谢谢!
f*******l
发帖数: 66
33
来自主题: JobHunting版 - 弱弱的问问bitmap?
use a larger bitset?
or think of other structure to store more bitset
say vector > bitsetArray

bitmap,
m*****n
发帖数: 2152
34
来自主题: JobHunting版 - 这题怎么做?
BFS可以解决,但是可能不是最好的解法。
先inverse table,
c1 -> {f1, f2, ......}
c2 -> {f1, f2, ......}
C++可以用bitset, map["c1"] = bitset; ....
然后构造另一个bitset,所有bit全0,叫search。
然后BFS,每次 search | map["c?"],
如果bit不全1,push search in list, 下一个。
直到找到search bit全1为止。
然后BFS的层数就是答案。
b**********5
发帖数: 7881
35
再看了看, 好像file是persistent storage, buffer就好像memcache一样。。。然后
就是用个bitset记住那个block被用。 然后onShudown的时候, dump every block 和
这个bitset到file里, 然后startup的时候, 去read 这个file和corresponding
bitset去建立这个buffer。。。
E*V
发帖数: 17544
36
ft.
google
C++ std library
bitset
#include
bitset<32> aa(your int);
aa.count ();

can
h*******x
发帖数: 12808
37
来自主题: JobHunting版 - 让人沮丧的Goog电话面试
恩,第一题我也没有什么好的办法。
如果是数字的话,bitset正好,不是数字的话,hash成数字就再用bitset也行,还有更
好的办法吗?
m****u
发帖数: 3915
38
来自主题: JobHunting版 - 让人沮丧的Goog电话面试
老大,没有不相等阿
如果有重复元素,bitset不行吧
就像aaab和aabb这两个数组,你需要记录a和b出现的次数
如果没有重复元素,用bitset可以
m******9
发帖数: 968
39
来自主题: JobHunting版 - 问一个经典题目
你可以考虑用bitset, 遍历数组, 将所有出现的数在bitset中做好标记, 这个方法
可以找出任意个missing的数
也可以用swap的方法做, time o(n), space o(1)
我记得有个类似的的题目: 值域是1~n, 数组大小是n+m, 即有m个duplicate, 找出所有的
duplicate.
w******1
发帖数: 520
40
来自主题: JobHunting版 - Bitmap是怎么回事啊?
谢谢楼上。我看答案是 bitmap
不是BITSET, BITSET 是位的操作吧
L**********u
发帖数: 194
41
来自主题: JobHunting版 - Exposed上一道string permutation的题
This problem can be solved by binary representation of an integer.
I am a rookie of C++. thanks for comments
my codes
#include
#include
#include
using namespace std;
const int N=5;
void subset(int arr[], int n)
{
bitset n_bit(n);
cout<<"{";
for(int i=0;i if(n_bit[i]==1)
cout< cout<<"};";
cout< }
//main function
int main()
{
cout<<"The set has "< int arr[N];
for(int i=0;i arr[i]=... 阅读全帖
M********5
发帖数: 715
42
除了用一个map的structure, 建立一个原来数组长度的bitset,在遍历原来的数组的时
候,如果发现有相同的string存在过,就把原来的那个bit set为0,把新的bit set为1
,然后最后从头到尾扫一遍bitset,就可以得到最后的结果。不过这个提法跟你的提法
可能会适用于不同的地方,如果原数组的重复的string很少,可能这个会更好,因为
sorting一般会nlogn的时间,这个是线性的;不过如果重复的多的话,sorting会更划
算,比如如果10000个数组最后可能只有100个unique的,显然遍历一遍也要花10000,
但是sorting比这个快。
d******b
发帖数: 73
43
来自主题: JobHunting版 - G onsite题目
这个题 不用dp。
直接用bitset就搞定了。
每一个 字符串 对应一个 bitset,或者 32位的整数,如果只是 字母的话。
如果有 这个字母,相应的位 就 mark 1,否则mark 0。
然后 以第一个为基准,扫描到 逻辑和 不为零的 全部删掉。
一直这样做下去。 直到找到逻辑和 为零的。
平均复杂度,应该在 nlog(n) 。
至于第二个,应该是在第一个的基础上,找出两个最大的。
这个不难了。
a*********a
发帖数: 3656
44
to be moderately future proof with some consideration in efficency.
typedef bitset<64> gender;
allow 1 in multiple bits. hopefully you don't have to go to bitset<128> in
another few years.
o***i
发帖数: 603
45
来自主题: Java版 - 那个数组找duplicate的面试题
找有没有可以用bitset,因为只有有/没有(0/1)两种可能
但是找重复,就有三种可能了,没有/有一个/重复,你bitset怎么搞?
i***c
发帖数: 2
46
来自主题: JobHunting版 - 一道C/C++的面试题
There are numbers from 1 to N in an array. out of these, one of the number
gets duplicated and one is missing. The task is to write a program to find
out the duplicate number. Conditions: you have to do it in O(n) time without
using any auxilary space (array, bitsets, maps etc..).
g*******y
发帖数: 1930
47
来自主题: JobHunting版 - 求教一道老题
嗯,二叉树就太简单了,直接从root开始找路径。然后把路径用bitset表示,然后就搞定了。
其实我也在想另外一个方法,从一个node回溯到root,把所有的parent都用hash存下来,然后从另一个node往上回溯,每个parent查查是否在hash_table中。这样的感觉性能也不差。
非二叉树的,我给个链接吧,感兴趣可以去看:
http://en.wikipedia.org/wiki/Tarjan%27s_off-line_least_common_ancestors_algorithm
http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=lowestCommonAncestor
l**u
发帖数: 368
48
来自主题: JobHunting版 - 3rd Amazon phone interview (1hr)

有重复么?没有重复可以用昨天有人提到的bitset吧。
like
KPM?不会写。。。
you
maitain一个cache?
record,
numbers in
recursive function
b*****n
发帖数: 221
49
来自主题: JobHunting版 - 让人沮丧的Goog电话面试
第二题精华区有答案。取样有weight去参与新的sampling,这样就uniform了。
第一题估计用bitset,这样比较省空间。
g*******4
发帖数: 155
50
来自主题: JobHunting版 - 让人沮丧的Goog电话面试

第二题我也提到类似的解法,对方恩了一声就说你有啥问题了……
bitset怎么做呢?
1 2 3 4 下页 末页 (共4页)