由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 忐忑的G电面
相关主题
大整数相乘谁贴个bug free的code有人做过twitter的online coding test么?什么类型什么难度的题目啊?
设计一种数据机构实现大数相加和相乘谁能给贴个大数相减的java code 吗?
帮发一个同学面G家onsite的面经大数相乘面试的时候是不是做到O(n^2)就行了?
求大数加1题目的细节10分钟前的G家电面面经
FB面经~今天竟然把MULTIPLY(大数相乘)写完了,发帖庆祝
攒人品 发个G电面FB onsite会问简历吗?附面经
请教如何解决整数的溢出问题[cloudera面试] senior engineer
有人做facebook的first or last这道题吗?leetcode: pow(x,n)
相关话题的讨论汇总
话题: int话题: power话题: result话题: vector话题: remainder
进入JobHunting版参与讨论
1 (共1页)
a********3
发帖数: 228
1
除了之前问我project的一些东西,code我就做了一题,是不是有点悲剧?
code是x^y,x和y都是正整数。
我开始以为是大家都练过的pow,然后说了一下思路,准备写。
面试官说先写最简单的,我就快速写了个O(n)的。
然后他问这个work吗?我想了下,说有可能overflow,就把result从int改为long。
他又问这个work吗?我想了下,long还有可能overflow,就说可以用多个long来表示结
果。
他遂提示用BigInteger,然后让我实现BigInteger类。
我的脑子这时有点卡壳,过了一阵才明白需要实现BigInteger的相乘。
中间还有点误解他的意思,经过提示才写出来。
最近rp不灵,面试时总是碰见没见过的题,不过也是因为自己实力不强,碰见不熟悉的
题就容易露怯。
l*****a
发帖数: 559
2
就一题BigInteger相乘不算悲剧。
一开始面试官用^表示有误导之嫌。
j******2
发帖数: 362
3
你用的什么语言?biginteger要自己写?

【在 a********3 的大作中提到】
: 除了之前问我project的一些东西,code我就做了一题,是不是有点悲剧?
: code是x^y,x和y都是正整数。
: 我开始以为是大家都练过的pow,然后说了一下思路,准备写。
: 面试官说先写最简单的,我就快速写了个O(n)的。
: 然后他问这个work吗?我想了下,说有可能overflow,就把result从int改为long。
: 他又问这个work吗?我想了下,long还有可能overflow,就说可以用多个long来表示结
: 果。
: 他遂提示用BigInteger,然后让我实现BigInteger类。
: 我的脑子这时有点卡壳,过了一阵才明白需要实现BigInteger的相乘。
: 中间还有点误解他的意思,经过提示才写出来。

w****a
发帖数: 710
4
怎么G店面都喜欢考big int? 我今天的也考了,不过我是加法。
j******2
发帖数: 362
5
我记得幂函数只要平方就行了,大数平方能不能比大数乘法简单点?还是还是必须写个
general的乘法啊?
w****a
发帖数: 710
6
那相当于这道题就是大数乘法和pow的结合题咯,那你一次店面做了两题还描述了
project,不算悲剧,BLESS
h*********o
发帖数: 230
7
这个是求x的y次幂吗?
biginteger 从来没用过啊。。。
你是用什么语言啊?
java也有这个吗?

【在 a********3 的大作中提到】
: 除了之前问我project的一些东西,code我就做了一题,是不是有点悲剧?
: code是x^y,x和y都是正整数。
: 我开始以为是大家都练过的pow,然后说了一下思路,准备写。
: 面试官说先写最简单的,我就快速写了个O(n)的。
: 然后他问这个work吗?我想了下,说有可能overflow,就把result从int改为long。
: 他又问这个work吗?我想了下,long还有可能overflow,就说可以用多个long来表示结
: 果。
: 他遂提示用BigInteger,然后让我实现BigInteger类。
: 我的脑子这时有点卡壳,过了一阵才明白需要实现BigInteger的相乘。
: 中间还有点误解他的意思,经过提示才写出来。

f*****e
发帖数: 2992
8
每个int存范围在10^8的10进制数,相乘超过这个范围的补到下一个int。

【在 h*********o 的大作中提到】
: 这个是求x的y次幂吗?
: biginteger 从来没用过啊。。。
: 你是用什么语言啊?
: java也有这个吗?

a********3
发帖数: 228
9
我用的java,要求自己实现BigInteger,虽然我记得java也有个类叫BigInteger
a********3
发帖数: 228
10
不是实现整个BigInteger,他说只用实现能完成pow函数的function就行,我写了
constructor和multiply function。
相关主题
攒人品 发个G电面有人做过twitter的online coding test么?什么类型什么难度的题目啊?
请教如何解决整数的溢出问题谁能给贴个大数相减的java code 吗?
有人做facebook的first or last这道题吗?大数相乘面试的时候是不是做到O(n^2)就行了?
进入JobHunting版参与讨论
t*********h
发帖数: 941
11
是string吗?还是数组

【在 a********3 的大作中提到】
: 除了之前问我project的一些东西,code我就做了一题,是不是有点悲剧?
: code是x^y,x和y都是正整数。
: 我开始以为是大家都练过的pow,然后说了一下思路,准备写。
: 面试官说先写最简单的,我就快速写了个O(n)的。
: 然后他问这个work吗?我想了下,说有可能overflow,就把result从int改为long。
: 他又问这个work吗?我想了下,long还有可能overflow,就说可以用多个long来表示结
: 果。
: 他遂提示用BigInteger,然后让我实现BigInteger类。
: 我的脑子这时有点卡壳,过了一阵才明白需要实现BigInteger的相乘。
: 中间还有点误解他的意思,经过提示才写出来。

j*****y
发帖数: 1071
12
这题目还要考 big integer的相乘, 其实感觉挺难的
vector power(vector &a, vector & b)
{
int m = a.size() - 1;
int n = b.size() - 1;
vector result(m + n + 1, 0);
for(int i = 0; i < result.size(); ++i)
{
int power = m + n - i;
for(int k = 0; k <= power; ++k)
{

if(power - k > n)
{
continue;
}
if(k > m)
{
break;
}
result[i] += a[m - k] * b[n -(power - k)];
}
}
int remainder = 0;
for(int i = result.size() - 1; i > -1 ; --i)
{
int x = a[i] + remainder;
a[i] = x % 10;
remainder = x / 10;
}
while(remainder > 0)
{
result.insert(result.begin(), remainder % 10);
remainder = remainder / 10;
}
return result;
}
vector power(vector x, int y)
{
if(y == 1)
{
return x;
}
if(y & 0x1 == 0)
{
vector tmp = power(x, y >> 2);
return power(tmp, tmp);
}
else
{
return power(x, power(x, y - 1));
}
}
vector power(int x, int y)
{
vector vx;
while(x > 0)
{
vx.insert(vx.begin(), x % 10);
x = x / 10;
}
return power(vx, y);
}

【在 a********3 的大作中提到】
: 除了之前问我project的一些东西,code我就做了一题,是不是有点悲剧?
: code是x^y,x和y都是正整数。
: 我开始以为是大家都练过的pow,然后说了一下思路,准备写。
: 面试官说先写最简单的,我就快速写了个O(n)的。
: 然后他问这个work吗?我想了下,说有可能overflow,就把result从int改为long。
: 他又问这个work吗?我想了下,long还有可能overflow,就说可以用多个long来表示结
: 果。
: 他遂提示用BigInteger,然后让我实现BigInteger类。
: 我的脑子这时有点卡壳,过了一阵才明白需要实现BigInteger的相乘。
: 中间还有点误解他的意思,经过提示才写出来。

j******2
发帖数: 362
13
大数乘法在leetcode里是被我归为大题类得。。。

【在 j*****y 的大作中提到】
: 这题目还要考 big integer的相乘, 其实感觉挺难的
: vector power(vector &a, vector & b)
: {
: int m = a.size() - 1;
: int n = b.size() - 1;
: vector result(m + n + 1, 0);
: for(int i = 0; i < result.size(); ++i)
: {
: int power = m + n - i;
: for(int k = 0; k <= power; ++k)

l*****a
发帖数: 14598
14
用字符串也可以吧?

【在 a********3 的大作中提到】
: 不是实现整个BigInteger,他说只用实现能完成pow函数的function就行,我写了
: constructor和multiply function。

B********t
发帖数: 147
15
power(vector, int)里return的两个power都应该是mult吧。。。

【在 j*****y 的大作中提到】
: 这题目还要考 big integer的相乘, 其实感觉挺难的
: vector power(vector &a, vector & b)
: {
: int m = a.size() - 1;
: int n = b.size() - 1;
: vector result(m + n + 1, 0);
: for(int i = 0; i < result.size(); ++i)
: {
: int power = m + n - i;
: for(int k = 0; k <= power; ++k)

j*****y
发帖数: 1071
16
是的,多谢,改过来了 :)

【在 B********t 的大作中提到】
: power(vector, int)里return的两个power都应该是mult吧。。。
a********3
发帖数: 228
17
我没写这么完整,之前也没做过大数相乘的题目。。。
刚看到leetcode上有string版本的大数相乘。。。

【在 j*****y 的大作中提到】
: 这题目还要考 big integer的相乘, 其实感觉挺难的
: vector power(vector &a, vector & b)
: {
: int m = a.size() - 1;
: int n = b.size() - 1;
: vector result(m + n + 1, 0);
: for(int i = 0; i < result.size(); ++i)
: {
: int power = m + n - i;
: for(int k = 0; k <= power; ++k)

g*********n
发帖数: 43
18
如果从低位开始存取的话,下面这段代码好像可以简单一点?
for(int i = 0; i < result.size(); ++i)
{
int power = m + n - i;
for(int k = 0; k <= power; ++k)
{

if(power - k > n)
{
continue;
}
if(k > m)
{
break;
}
result[i] += a[m - k] * b[n -(power - k)];
}
}
==〉
for (i=0; i< result.size(); i++)
{
result[i] = 0;
for (j=0; j< a.size(); j+=)
{
if (i-j >= 0)
{
result [i] += a[j] *b[i-j];
}
else break;
}
}

【在 j*****y 的大作中提到】
: 这题目还要考 big integer的相乘, 其实感觉挺难的
: vector power(vector &a, vector & b)
: {
: int m = a.size() - 1;
: int n = b.size() - 1;
: vector result(m + n + 1, 0);
: for(int i = 0; i < result.size(); ++i)
: {
: int power = m + n - i;
: for(int k = 0; k <= power; ++k)

j*****y
发帖数: 1071
19
thanks,你的 idea 也可以简化我的 code
for(int i = 0; i < result.size(); ++i)
{
int power = m + n - i;
for(int k = max(0, power - n); k <= min(m, power); ++k)
{
result[i] += a[m - k] * b[n -(power - k)];
}
}

如果从低位开始存取的话,下面这段代码好像可以简单一点?
for(int i = 0; i < result.size(); ++i)
{
int power = m + n - i;
for(int k = 0; k <= power; ++k)
{

if(power - k > n)
{
continue;
}
if(k > m)
{
break;
}
result[i] += a[m - k] * b[n -(power - k)];
}
}
==〉
for (i=0; i< result.size(); i++)
{
result[i] = 0;
for (j=0; j< a.size(); j+=)
{
if (i-j >= 0)
{
result [i] += a[j] *b[i-j];
}
else break;
}
}

【在 g*********n 的大作中提到】
: 如果从低位开始存取的话,下面这段代码好像可以简单一点?
: for(int i = 0; i < result.size(); ++i)
: {
: int power = m + n - i;
: for(int k = 0; k <= power; ++k)
: {
:
: if(power - k > n)
: {
: continue;

1 (共1页)
进入JobHunting版参与讨论
相关主题
leetcode: pow(x,n)FB面经~
Airbnb到底招什么样的人?攒人品 发个G电面
问个算法题9请教如何解决整数的溢出问题
发几个面经(7) Google 电面+onsite有人做facebook的first or last这道题吗?
大整数相乘谁贴个bug free的code有人做过twitter的online coding test么?什么类型什么难度的题目啊?
设计一种数据机构实现大数相加和相乘谁能给贴个大数相减的java code 吗?
帮发一个同学面G家onsite的面经大数相乘面试的时候是不是做到O(n^2)就行了?
求大数加1题目的细节10分钟前的G家电面面经
相关话题的讨论汇总
话题: int话题: power话题: result话题: vector话题: remainder