Redian新闻
>
Focalprice卖的东西靠谱吗?
avatar
Focalprice卖的东西靠谱吗?# PDA - 掌中宝
w*y
1
这种题怎么做啊? 如果是sorted的, 找一个我知道可以用binary search的法子
如果找更多个, 即使是sorted的, 我也想不出什么法子了.........
avatar
Z*a
2
想弄个山寨机/平板回国时用,Focalprice.com靠谱吗?有人用过吗?
avatar
s*n
3
求和,平方求和,立方求和,...
有k个等式,就可以解出来
http://math2.org/math/expansion/power.htm

【在 w***y 的大作中提到】
: 这种题怎么做啊? 如果是sorted的, 找一个我知道可以用binary search的法子
: 如果找更多个, 即使是sorted的, 我也想不出什么法子了.........

avatar
j*5
4
小东西用着还成,大东西不敢买

【在 Z****a 的大作中提到】
: 想弄个山寨机/平板回国时用,Focalprice.com靠谱吗?有人用过吗?
avatar
w*o
5
能不能把这个问题给个确切的描述?
我觉得有可能是两种情形:
1. 给个数组,数组大小是N,里面的数都介入 1和N,丢了k个数,没有丢的数可能有重复
,因为数组大小还是N.
2. 给个数组,数组大小是N-k,里面的数都介入 1和N,丢了k个数,没有丢的数没有重复。
到底面试的时候被问到的是哪种情形?应该解答也是不一样的吧?!

【在 w***y 的大作中提到】
: 这种题怎么做啊? 如果是sorted的, 找一个我知道可以用binary search的法子
: 如果找更多个, 即使是sorted的, 我也想不出什么法子了.........

avatar
I*9
6
你可以试试dealextreme 这个店在美国有客服中心 我退过一次货 客服还可以
avatar
i*7
7
能用额外buffer的话,就建hashtable。其实用Bitmap就够了。。。
avatar
w*o
8
能说说我上面提到的是哪种情形?
谢谢!

【在 i*********7 的大作中提到】
: 能用额外buffer的话,就建hashtable。其实用Bitmap就够了。。。
avatar
w*y
9
我看到的题目是2, 没有重复

复。

【在 w****o 的大作中提到】
: 能不能把这个问题给个确切的描述?
: 我觉得有可能是两种情形:
: 1. 给个数组,数组大小是N,里面的数都介入 1和N,丢了k个数,没有丢的数可能有重复
: ,因为数组大小还是N.
: 2. 给个数组,数组大小是N-k,里面的数都介入 1和N,丢了k个数,没有丢的数没有重复。
: 到底面试的时候被问到的是哪种情形?应该解答也是不一样的吧?!

avatar
w*y
10
能不能给一个讲解bit array的link?
我看了wiki 还是不知道怎么实现 http://en.wikipedia.org/wiki/Bit_array
譬如说现在的这个N-k个数, 怎么转化成一个bit array呢?

【在 i*********7 的大作中提到】
: 能用额外buffer的话,就建hashtable。其实用Bitmap就够了。。。
avatar
p*2
11

就是一个bit代表一个数字,省点内存。

【在 w***y 的大作中提到】
: 能不能给一个讲解bit array的link?
: 我看了wiki 还是不知道怎么实现 http://en.wikipedia.org/wiki/Bit_array
: 譬如说现在的这个N-k个数, 怎么转化成一个bit array呢?

avatar
i*7
12
你可以查查STL标准类BITSET
avatar
X*K
13
根据前面的提示写了一个
void missingK(int a[], int n, int k) {
int * bitmap = new int[n / sizeof(int) + 1];

for (int i = 0; i < n - k; ++i) {
int number = a[i];
int index = number / sizeof(int);
int offset = number - number / sizeof(int) * sizeof(int);
bitmap[index] |= 1 << offset;
}
for (int i = 1; i <= n; ++i) {
int index = i / sizeof(int);
int offset = i - i / sizeof(int) * sizeof(int);
if ((bitmap[index] & 1 << offset) == 0) {
cout << "missing: " << i << endl;
}
}
}
avatar
f*t
14
#include
#include
bool isSet(char *bitarray, int num)
{
int index = num / 8;
int offset = num % 8;
return bitarray[index] & (char)(1 << offset);
}
void set(char *bitarray, int num)
{
int index = num / 8;
int offset = num % 8;
bitarray[index] |= (char)(1 << offset);
}
void printMissingNum(int *array, int arraysize, int N)
{
int bitarraysize = (N + 7) / 8;
char *bitarray = (char*)calloc(bitarraysize, 1);
for(int i = 0; i < arraysize; ++i) {
set(bitarray, array[i]);
}

for(int i = 0; i < N; ++i) {
if(!isSet(bitarray, i)) {
printf("%d ", i);
}
}

free(bitarray);
printf("\n");
}
int main()
{
int array[] = {1, 2, 3, 5, 6};
int N = 10;
printMissingNum(array, sizeof(array) / sizeof(int), N);

return 0;
}
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。