由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 150上的11.3,用1GByte的memory找出4B整数中的missing one
相关主题
问个《编程实践》(英文版)里面的问题问个bit struct的面试题 急
函数atoi的实现请问在程序中怎么测试是否整数溢出
atoi overflow怎么办?看到一个c的面试题,求教。
问两道bloomberg的题目面试问题,最长翻转整数问题
弱问一个150上的10.3题,bit vector的。。。问个BITWISE的题目。
这题你肯定见过,但有准备coding么?leetcode上的2个整数相除
two sigma 的online code test 的问题求问CC150书上16.9的“multiple of alignment”是什么意思??
请教一个系统设计问题 (转载)a leetcode problem: 重建BST
相关话题的讨论汇总
话题: int话题: byte话题: flag话题: missing话题: 0xfffffff
进入JobHunting版参与讨论
1 (共1页)
j******2
发帖数: 362
1
书上答案的bit vector是(366页line1)
byte[] bitfield=new byte [0xFFFFFFF/8];(7个F)
是不是不太对?
integer range是2^32,需要的byte数是0x100000000/8(8个0),何故是0xFFFFFFF/8?
而且是不是该考虑负数,把所有整数先(unsigned)再放进bitfield?
l*****r
发帖数: 393
2
0xFFFFFFF是最大可能的signed整数,0xFFFFFFF/8个byte就足够了。

8?

【在 j******2 的大作中提到】
: 书上答案的bit vector是(366页line1)
: byte[] bitfield=new byte [0xFFFFFFF/8];(7个F)
: 是不是不太对?
: integer range是2^32,需要的byte数是0x100000000/8(8个0),何故是0xFFFFFFF/8?
: 而且是不是该考虑负数,把所有整数先(unsigned)再放进bitfield?

j******2
发帖数: 362
3
难道不是
0xFFFFFFF=268435455
INT_MAX=2147483647=0x7FFFFFFF?
还是我哪儿搞错了?

【在 l*****r 的大作中提到】
: 0xFFFFFFF是最大可能的signed整数,0xFFFFFFF/8个byte就足够了。
:
: 8?

a*******y
发帖数: 1040
4
You have to multiply INT_MAX*2, range is INT_MAX-INT_MIN +1
j******2
发帖数: 362
5
INT_MAX-INT_MIN+1不就是0x100000000吗?

【在 a*******y 的大作中提到】
: You have to multiply INT_MAX*2, range is INT_MAX-INT_MIN +1
l*****r
发帖数: 393
6
看了原题,应该是8个F.没有signed的问题,就算有也是0x7FFFFFFF

【在 j******2 的大作中提到】
: 难道不是
: 0xFFFFFFF=268435455
: INT_MAX=2147483647=0x7FFFFFFF?
: 还是我哪儿搞错了?

j******2
发帖数: 362
7
为什么没有signed的问题?
P.366 L10
bitfield[n/8]|=1<<(n%8);
在n<0时就会出错(n是从文件读进的int)
how about this:
void print_missing_one_pass(char *file_name)
{
ifstream infile(file_name);
assert(infile);
int size=0x20000000;
char *flag=new char[size];
memset(flag, 0, size);
int i;
while (infile >> i)
{
int byte=(unsigned)i>>3;
int bit=i&7;
flag[byte]|=1< }

for (unsigned k=0; k {
char t=flag[k];
if (t!='\xff')
{
for (int j=0; j<8; j--)
{
if (!(t&1< {
int x=k<<3+j;
cout< delete [] flag;
return;
}
}
}
}

cout<<"nothing's missing"< delete [] flag;
return;
}

【在 l*****r 的大作中提到】
: 看了原题,应该是8个F.没有signed的问题,就算有也是0x7FFFFFFF
1 (共1页)
进入JobHunting版参与讨论
相关主题
a leetcode problem: 重建BST弱问一个150上的10.3题,bit vector的。。。
FLG面试题,压缩整数 (转载)这题你肯定见过,但有准备coding么?
帮忙看看我写的atoi有没有bug, 谢谢two sigma 的online code test 的问题
问个编程题请教一个系统设计问题 (转载)
问个《编程实践》(英文版)里面的问题问个bit struct的面试题 急
函数atoi的实现请问在程序中怎么测试是否整数溢出
atoi overflow怎么办?看到一个c的面试题,求教。
问两道bloomberg的题目面试问题,最长翻转整数问题
相关话题的讨论汇总
话题: int话题: byte话题: flag话题: missing话题: 0xfffffff