由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 几年前G家onsite的一道题
相关主题
LC的Excel字串/数字转换题级别不止简单吧发几个小公司的题目
关于除法的问题Google Recruiter 面试
这道题好像有点难请教一道题
a silly questionFB电面面筋顺求refer
怎么快速找二进制的某一位是否0一道面试题,觉得有更优化解
新人来报道,M家on-site 面经yahoo onsite完,又被要求加试2h电面,不知道为什么(附面经)
输入一个整数,返回它二进制 的1的个数T的一道电面题
不会做进制转换的人能做软件设计吗?在整数数组中加运算符号和括号,求max
相关话题的讨论汇总
话题: 123话题: write话题: strings话题: operation话题: pay
进入JobHunting版参与讨论
1 (共1页)
y**********0
发帖数: 86
1
就是自己定义一个结构来表示big integer,然后实现它的加减乘除,还有按十进制和
二进制的打印。当时我用一个byte array来表示整数,然后乘除写得乱七八糟的。直到
现在印象都很深。现在想想,觉得好像用一个string表示整数似乎更直观好做点。大家
说说有没有什么好的做法?
s******o
发帖数: 2233
2
M家被问到过加法,快结束了才写出来
加减乘除还要2/10进制直接跪了.。。

【在 y**********0 的大作中提到】
: 就是自己定义一个结构来表示big integer,然后实现它的加减乘除,还有按十进制和
: 二进制的打印。当时我用一个byte array来表示整数,然后乘除写得乱七八糟的。直到
: 现在印象都很深。现在想想,觉得好像用一个string表示整数似乎更直观好做点。大家
: 说说有没有什么好的做法?

n*******w
发帖数: 687
3
如果用数字array的话,直接integer array就行吧。
考虑到要二进制打印,使用65536进制,每个数组元素表示一个"digit"。(假设
interger是16位)

【在 y**********0 的大作中提到】
: 就是自己定义一个结构来表示big integer,然后实现它的加减乘除,还有按十进制和
: 二进制的打印。当时我用一个byte array来表示整数,然后乘除写得乱七八糟的。直到
: 现在印象都很深。现在想想,觉得好像用一个string表示整数似乎更直观好做点。大家
: 说说有没有什么好的做法?

w****x
发帖数: 2483
4
乘就算了, 除我我怀疑是不是玩我呢
H****r
发帖数: 2801
5
一共给多长时间啊?这题做好那花时间不是一般长...
详细可参看GMP

【在 y**********0 的大作中提到】
: 就是自己定义一个结构来表示big integer,然后实现它的加减乘除,还有按十进制和
: 二进制的打印。当时我用一个byte array来表示整数,然后乘除写得乱七八糟的。直到
: 现在印象都很深。现在想想,觉得好像用一个string表示整数似乎更直观好做点。大家
: 说说有没有什么好的做法?

y**********0
发帖数: 86
6
45分钟还是一个小时,反正我没写完。写了的部分估计bug也有一堆。最后被拒也是没
跑的。

【在 H****r 的大作中提到】
: 一共给多长时间啊?这题做好那花时间不是一般长...
: 详细可参看GMP

l*****a
发帖数: 14598
7
很奇怪你为什么隔了这么多年才想起来问问怎么做

【在 y**********0 的大作中提到】
: 就是自己定义一个结构来表示big integer,然后实现它的加减乘除,还有按十进制和
: 二进制的打印。当时我用一个byte array来表示整数,然后乘除写得乱七八糟的。直到
: 现在印象都很深。现在想想,觉得好像用一个string表示整数似乎更直观好做点。大家
: 说说有没有什么好的做法?

H****r
发帖数: 2801
8
45分钟太短了,加减不说,看看乘除的算法:
http://gmplib.org/manual/Algorithms.html#Algorithms

【在 y**********0 的大作中提到】
: 45分钟还是一个小时,反正我没写完。写了的部分估计bug也有一堆。最后被拒也是没
: 跑的。

y**********0
发帖数: 86
9
因为又要去G家onsite找虐了。

【在 l*****a 的大作中提到】
: 很奇怪你为什么隔了这么多年才想起来问问怎么做
s******k
发帖数: 3716
10
用vector是不是好点?每个int存0-1024

【在 y**********0 的大作中提到】
: 就是自己定义一个结构来表示big integer,然后实现它的加减乘除,还有按十进制和
: 二进制的打印。当时我用一个byte array来表示整数,然后乘除写得乱七八糟的。直到
: 现在印象都很深。现在想想,觉得好像用一个string表示整数似乎更直观好做点。大家
: 说说有没有什么好的做法?

y**********0
发帖数: 86
11
多谢大牛指点。看了一眼好像太难了。。。面试真要考这个我就洗洗睡了算了

【在 H****r 的大作中提到】
: 45分钟太短了,加减不说,看看乘除的算法:
: http://gmplib.org/manual/Algorithms.html#Algorithms

y**********0
发帖数: 86
12
为什么存1024?

【在 s******k 的大作中提到】
: 用vector是不是好点?每个int存0-1024
f*********2
发帖数: 25
13
We can use String to represent big integers.
(1) Write + operation.
Pay attention to two strings of different length and carry on digit.
(2) Write - operation.
First compare two strings to decide what the sign of the final result.
The longer length one is bigger. Of the same length strings, start from left
to right.
Pay attention to borrowers.
(3) Once we get +, write *.
For example
123 * 12 = 123 * 2 + 123 * 10.
where 123 * 2 means to add 123 twice and 123 * 10 to add 123 ten times.
(4) Write / operation.
Continue to minus divisor from dividend until we get 0.
For example, 23 / 5 = 4
subtraction result number of subtractions
23 - 5 = 18 > 5 1
18 - 5 = 13 > 5 2
13 - 5 = 8 > 5 3
8 - 5 = 3 4
Since 3 < 5, stop.
So 23 / 5 = 4.
You need to pay attention to trivial details when writing this code. It
definitely takes more than 45 minutes to get it done for myself.

【在 y**********0 的大作中提到】
: 就是自己定义一个结构来表示big integer,然后实现它的加减乘除,还有按十进制和
: 二进制的打印。当时我用一个byte array来表示整数,然后乘除写得乱七八糟的。直到
: 现在印象都很深。现在想想,觉得好像用一个string表示整数似乎更直观好做点。大家
: 说说有没有什么好的做法?

1 (共1页)
进入JobHunting版参与讨论
相关主题
在整数数组中加运算符号和括号,求max怎么快速找二进制的某一位是否0
一道怪题 fb新人来报道,M家on-site 面经
问一道brainteaser输入一个整数,返回它二进制 的1的个数
那1000道题我其实说的是...不会做进制转换的人能做软件设计吗?
LC的Excel字串/数字转换题级别不止简单吧发几个小公司的题目
关于除法的问题Google Recruiter 面试
这道题好像有点难请教一道题
a silly questionFB电面面筋顺求refer
相关话题的讨论汇总
话题: 123话题: write话题: strings话题: operation话题: pay