由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - facebook on site后多久给消息啊
相关主题
讨论一道面试题divide two integers
两个整数除法的问题太刁钻了吧M 家电面
Reverse String 有 O(logn)的方法么?Divide Two Integers
问一个facebook的电面题问一道 Interviewstreet 上的题 (JAVA)
leetcode上的2个整数相除贡献个面试题,目前狗狗都没找到.....
question about big data请教个LC的新题
关于Divide a integer今早google电面报告
leetcode: Divide Two Integers 怎么做?Amazon interview question.
相关话题的讨论汇总
话题: int话题: inc话题: result话题: cum话题: return
进入JobHunting版参与讨论
1 (共1页)
h*********3
发帖数: 111
1
有没有人最近on site过,一般多久给消息啊?
e******a
发帖数: 176
2
能不能说说面经?都问了些什么啊?

【在 h*********3 的大作中提到】
: 有没有人最近on site过,一般多久给消息啊?
g*********s
发帖数: 1782
3

move on
了。
这个怎么做?不停用减法有点土吧?
题目就不详
细说了。3个人面食算法加coding, 基本没有新题,版上基本都讨论过。有一个人面试
系统设计,来回
讨论,沟通的不好。我估计是坏在这个人手上。

【在 h*********3 的大作中提到】
: 有没有人最近on site过,一般多久给消息啊?
m******m
发帖数: 19
4
假设已知a,b,求a/b。不妨设a,b同为正数,其他情况保存符号信息。
1.找到一个范围(l,r)使得b*l 这里初始l=0,r=1;然后每次步长翻倍l=r,r=r*2.
2.再在(l,r)里用二分查找找到结果。

【在 g*********s 的大作中提到】
:
: move on
: 了。
: 这个怎么做?不停用减法有点土吧?
: 题目就不详
: 细说了。3个人面食算法加coding, 基本没有新题,版上基本都讨论过。有一个人面试
: 系统设计,来回
: 讨论,沟通的不好。我估计是坏在这个人手上。

m***g
发帖数: 90
5
想知道,二进制与或?

move on
了。
这个怎么做?不停用减法有点土吧?
题目就不详
细说了。3个人面食算法加coding, 基本没有新题,版上基本都讨论过。有一个人面试
系统设计,来回
讨论,沟通的不好。我估计是坏在这个人手上。

【在 g*********s 的大作中提到】
:
: move on
: 了。
: 这个怎么做?不停用减法有点土吧?
: 题目就不详
: 细说了。3个人面食算法加coding, 基本没有新题,版上基本都讨论过。有一个人面试
: 系统设计,来回
: 讨论,沟通的不好。我估计是坏在这个人手上。

h*********3
发帖数: 111
6

面试者想要logN的算法。
我用了额外的空间来存储中间结果。具体做法是:假设我们求a/b, a,b > 0
就把b, 2b, 4b,8b...都存下来,直道某个值xb > a, 然后把a - x/2 b,一直减,
直道最后为0 或者把所有的值都减了。

【在 m***g 的大作中提到】
: 想知道,二进制与或?
:
: move on
: 了。
: 这个怎么做?不停用减法有点土吧?
: 题目就不详
: 细说了。3个人面食算法加coding, 基本没有新题,版上基本都讨论过。有一个人面试
: 系统设计,来回
: 讨论,沟通的不好。我估计是坏在这个人手上。

l*********y
发帖数: 142
7
系统设计怎么搞啊,每次都谈不到什么实质的点子上

move on 了。
题目就不详细说了。3个人面食算法加coding, 基本没有新题,版上基本都讨论过。有
一个人面试系统设计,来回讨论,沟通的不好。我估计是坏在这个人手上。

【在 h*********3 的大作中提到】
:
: 面试者想要logN的算法。
: 我用了额外的空间来存储中间结果。具体做法是:假设我们求a/b, a,b > 0
: 就把b, 2b, 4b,8b...都存下来,直道某个值xb > a, 然后把a - x/2 b,一直减,
: 直道最后为0 或者把所有的值都减了。

j****a
发帖数: 1277
8
这个理由真扯淡 既然不fit 何必开始

move on 了。
题目就不详细说了。3个人面食算法加coding, 基本没有新题,版上基本都讨论过。有
一个人面试系统设计,来回讨论,沟通的不好。我估计是坏在这个人手上。

【在 h*********3 的大作中提到】
:
: 面试者想要logN的算法。
: 我用了额外的空间来存储中间结果。具体做法是:假设我们求a/b, a,b > 0
: 就把b, 2b, 4b,8b...都存下来,直道某个值xb > a, 然后把a - x/2 b,一直减,
: 直道最后为0 或者把所有的值都减了。

g*********s
发帖数: 1782
9
第一步结束后,得到的是2^k*b <= a <=2^(k+1)*b.
然后怎么个二分法?找谁?

【在 m******m 的大作中提到】
: 假设已知a,b,求a/b。不妨设a,b同为正数,其他情况保存符号信息。
: 1.找到一个范围(l,r)使得b*l: 这里初始l=0,r=1;然后每次步长翻倍l=r,r=r*2.
: 2.再在(l,r)里用二分查找找到结果。

g*********s
发帖数: 1782
10

第二步没看懂。假设我们已知2^k*b <= a <= 2^(k+1)*b,怎么个一直减?
比如a=16, b=3,第一步结束时知道12=2^2*3<=16<24=2^3*3,这里的x=8.
然后呢?16 - 8/2*3 = 16-12 = 4,然后呢?

【在 h*********3 的大作中提到】
:
: 面试者想要logN的算法。
: 我用了额外的空间来存储中间结果。具体做法是:假设我们求a/b, a,b > 0
: 就把b, 2b, 4b,8b...都存下来,直道某个值xb > a, 然后把a - x/2 b,一直减,
: 直道最后为0 或者把所有的值都减了。

相关主题
question about big datadivide two integers
关于Divide a integerM 家电面
leetcode: Divide Two Integers 怎么做?Divide Two Integers
进入JobHunting版参与讨论
d****2
发帖数: 12
11
You don't have to store the values (b,2b,4b, etc). Use recursion, it
actually stores it for you already.
int DivideR(int a, int& res, int div, int inc)
{
if(inc + inc > a)
{
res = div;
return inc;
}
int t1 = DivideR(a, res, div+div, inc+inc);
int t2 = t1 + inc;
if( t2 <= a)
{
res += div;
return t2;
}
return t1;
}
//assume positive number. Otherwise, check it and adjust accordingly.
int Divide(int a, int b)
{
if(a < b)
return 0;
int res = 0;
DivideR(a, res, 1, b);
return res;
}
j*****u
发帖数: 1133
12
A non recursive version:
// Assume a > 0, b > 0.
int Div(int a, int b)
{
int result = 0;
for (int acc = 0; acc + b <= a;)
{
int factor = 1, inc = b;
for (; acc + inc + inc <= a; inc += inc, factor += factor);
acc += inc;
result += factor;
}
return result;
}
g*********s
发帖数: 1782
13
can u explain? i don't get it.

【在 j*****u 的大作中提到】
: A non recursive version:
: // Assume a > 0, b > 0.
: int Div(int a, int b)
: {
: int result = 0;
: for (int acc = 0; acc + b <= a;)
: {
: int factor = 1, inc = b;
: for (; acc + inc + inc <= a; inc += inc, factor += factor);
: acc += inc;

j*****u
发帖数: 1133
14
acc是累加结果
内层loop每次尝试倍数1,2,4,8...直到超过a
外层loop从上次的acc开始继续内层loop
比如100/7:
第一次循环到factor=8结束,acc=56,因为7*16 > 100
第二次循环重新从factor=1开始,停止在factor=4,因为56+7*8 > 100
。。。

【在 g*********s 的大作中提到】
: can u explain? i don't get it.
g*********s
发帖数: 1782
15
100/7=14怎么算出来的?

【在 j*****u 的大作中提到】
: acc是累加结果
: 内层loop每次尝试倍数1,2,4,8...直到超过a
: 外层loop从上次的acc开始继续内层loop
: 比如100/7:
: 第一次循环到factor=8结束,acc=56,因为7*16 > 100
: 第二次循环重新从factor=1开始,停止在factor=4,因为56+7*8 > 100
: 。。。

r****l
发帖数: 28
16
//A recursive solution. Assume a>0 and b>0. Easy to change the code with a
sign flag if a or b can be negative.
//Calculate a / b
int divide (int a, int b) {
assert (b > 0);
assert (a > 0);

if (a < b) {
return 0;
}

int result = 1;
int cum = b;
while (cum < a) {
result <<= 1;
cum <<= 1;
}
if (cum == a) {
return result;
}
else {
result >>= 1;
cum >>= 1;
return result + divide(a-cum, b);
}
}
g*********s
发帖数: 1782
17
说说思路吧。看不懂啊。

a

【在 r****l 的大作中提到】
: //A recursive solution. Assume a>0 and b>0. Easy to change the code with a
: sign flag if a or b can be negative.
: //Calculate a / b
: int divide (int a, int b) {
: assert (b > 0);
: assert (a > 0);
:
: if (a < b) {
: return 0;
: }

h*********3
发帖数: 111
18

用你的例子:
1) b=3 , 记下 (3,1)
2) b=6 , 记下 (6,2)
3) b=12 , 记下 (12,4)
4) b=24, stop
5) 16>12, tmp=16-12, result += 4 (这个4是第3步里面记下来的)
6) tmp=4, < 6, 跳过 6
7) tmp>3, tmp=tmp-3 result += 1
已经遍历完所以寸的值, 返回result, 5

【在 g*********s 的大作中提到】
: 说说思路吧。看不懂啊。
:
: a

g*********s
发帖数: 1782
19
明白了。多谢。

【在 h*********3 的大作中提到】
:
: 用你的例子:
: 1) b=3 , 记下 (3,1)
: 2) b=6 , 记下 (6,2)
: 3) b=12 , 记下 (12,4)
: 4) b=24, stop
: 5) 16>12, tmp=16-12, result += 4 (这个4是第3步里面记下来的)
: 6) tmp=4, < 6, 跳过 6
: 7) tmp>3, tmp=tmp-3 result += 1
: 已经遍历完所以寸的值, 返回result, 5

1 (共1页)
进入JobHunting版参与讨论
相关主题
Amazon interview question.leetcode上的2个整数相除
[合集] Bloomberg电话面试真题并求答案question about big data
opt 期间part time 每周<20小时,可以维持身份吗?关于Divide a integer
再提两个问题leetcode: Divide Two Integers 怎么做?
讨论一道面试题divide two integers
两个整数除法的问题太刁钻了吧M 家电面
Reverse String 有 O(logn)的方法么?Divide Two Integers
问一个facebook的电面题问一道 Interviewstreet 上的题 (JAVA)
相关话题的讨论汇总
话题: int话题: inc话题: result话题: cum话题: return