Redian新闻
>
那个谁谁要AA,AAA电池的deal来了
avatar
那个谁谁要AA,AAA电池的deal来了# PhotoGear - 摄影器材
t*e
1
实现一个increment an integer by 1的函数,the integer can be huge, 数据结构自选
e.g., [2,3,6] --> [2,3,7]
我一开始用ArrayList, 为的是方便处理最大数位进位的情况, e.g. 999 ->
1000。
后来经过提醒用char[],这样计算前需要转换成int, 而且如果最大位数要进位需要重
新初始化一个char[] ... 不知道这样对吗?
关于increment()计算本身,我用iteration和recursive各写了一遍,主要考虑了进位
,不过没考虑负数 ... 不知道算不算一个bug?
唉,刚开始准备找工作就面了G家,心里好没底啊。希望好心人bless有个onsite吧
avatar
r*n
2
Duracell Coppertop AA or AAA 20 Count Pack $7 + free shipping,
From dealsea
avatar
p*2
3
大数相加,用linkedlist和stringbuffer都可以。ArrayList也算OK。char[]感觉有点
不太对劲了吧?没什么太大必要。
这题iteration就可以了,好像没必要用recursion, 负数问题应该跟面试官交流一下。
好像一般不需要考虑,不过要interviewer confirm是必须的。
不用担心,G的电面一般比较松。
avatar
l*a
4
thanks. got it this morning :)
perfect timing

【在 r*********n 的大作中提到】
: Duracell Coppertop AA or AAA 20 Count Pack $7 + free shipping,
: From dealsea

avatar
h*n
5
Leetcode 上的原题
class Solution {
public:
vector plusOne(vector &digits) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int size = digits.size();
vector res;
if(size<1) return res;
//加1操作,只需要把初始值置为1即可
int carry = 1;
int i;
for(i=size-1;i>=0;i--)
{
//这里注意先push后更新carry的值,否则会有错误
res.push_back((digits[i]+carry)%10);
if(digits[i]+carry>9)
{
carry = 1;
}
else carry = 0;
}
if(carry==1) res.push_back(1);
reverse(res.begin(), res.end());
return res;
}
};
avatar
k*t
6
减少化学垃圾, 清一色用LSD NIMH.

【在 l***a 的大作中提到】
: thanks. got it this morning :)
: perfect timing

avatar
p*2
7

这题要求的是自定义数据结构,leetcode上数据结构给定死了,未必是最优。

【在 h****n 的大作中提到】
: Leetcode 上的原题
: class Solution {
: public:
: vector plusOne(vector &digits) {
: // Start typing your C/C++ solution below
: // DO NOT write int main() function
: int size = digits.size();
: vector res;
: if(size<1) return res;
: //加1操作,只需要把初始值置为1即可

avatar
l*a
8
i still like to have some disposable batteries standing ready... next time
costco has discount on enelope I will by couple of more sets

【在 k****t 的大作中提到】
: 减少化学垃圾, 清一色用LSD NIMH.
avatar
l*a
9
面试官故意误导?
显然用[]可能要开新的数组。
用ArrayList这种dynamic array 应该没问题

自选
->

【在 t********e 的大作中提到】
: 实现一个increment an integer by 1的函数,the integer can be huge, 数据结构自选
: e.g., [2,3,6] --> [2,3,7]
: 我一开始用ArrayList, 为的是方便处理最大数位进位的情况, e.g. 999 ->
: 1000。
: 后来经过提醒用char[],这样计算前需要转换成int, 而且如果最大位数要进位需要重
: 新初始化一个char[] ... 不知道这样对吗?
: 关于increment()计算本身,我用iteration和recursive各写了一遍,主要考虑了进位
: ,不过没考虑负数 ... 不知道算不算一个bug?
: 唉,刚开始准备找工作就面了G家,心里好没底啊。希望好心人bless有个onsite吧

avatar
n*1
10
AA和AAA有啥区别啊? 闪光灯用的是哪种?
谢谢。。。

【在 r*********n 的大作中提到】
: Duracell Coppertop AA or AAA 20 Count Pack $7 + free shipping,
: From dealsea

avatar
p*2
11

可能面试官在leetcode上看的题,上边用的int[]

【在 l*****a 的大作中提到】
: 面试官故意误导?
: 显然用[]可能要开新的数组。
: 用ArrayList这种dynamic array 应该没问题
:
: 自选
: ->

avatar
s*g
12
AA #5
AAA #7

【在 n******1 的大作中提到】
: AA和AAA有啥区别啊? 闪光灯用的是哪种?
: 谢谢。。。

avatar
t*e
13
说明一下,当时他问用int (4 bytes)存一个0-9的integer太浪费了,怎么办?
我就说用char? 他说那你试试……

【在 p*****2 的大作中提到】
: 大数相加,用linkedlist和stringbuffer都可以。ArrayList也算OK。char[]感觉有点
: 不太对劲了吧?没什么太大必要。
: 这题iteration就可以了,好像没必要用recursion, 负数问题应该跟面试官交流一下。
: 好像一般不需要考虑,不过要interviewer confirm是必须的。
: 不用担心,G的电面一般比较松。

avatar
n*1
14
晕。。呵呵....

【在 s*****g 的大作中提到】
: AA #5
: AAA #7

avatar
p*2
15

我不是说了吗,要用StringBuffer。

【在 t********e 的大作中提到】
: 说明一下,当时他问用int (4 bytes)存一个0-9的integer太浪费了,怎么办?
: 我就说用char? 他说那你试试……

avatar
k*t
16
最牛X 问题

【在 n******1 的大作中提到】
: AA和AAA有啥区别啊? 闪光灯用的是哪种?
: 谢谢。。。

avatar
t*e
17
另外我弃用arraylist是考虑到arraylist的capacity永远是大于等于size的,我以为
interviewer希望我尽量省memory
唉都是我自己瞎猜的,没有面试经验,当时非常紧张……
avatar
t*e
18
不是说 Staples Rewards 那个 $20 Rewards 的免费电池又回来了吗?
avatar
p*2
19

要跟面试官交流好。
ArrayList 也行吧。

【在 t********e 的大作中提到】
: 另外我弃用arraylist是考虑到arraylist的capacity永远是大于等于size的,我以为
: interviewer希望我尽量省memory
: 唉都是我自己瞎猜的,没有面试经验,当时非常紧张……

avatar
n*1
20
。。。。

【在 k****t 的大作中提到】
: 最牛X 问题
avatar
t*e
21
对~是可以
不过internally StringBuffer也是用char array实现的呀……

【在 p*****2 的大作中提到】
:
: 要跟面试官交流好。
: ArrayList 也行吧。

avatar
p*2
22

字符应该还好吧?你想用4bits表示一个数字?
avatar
p*2
23

写code要简单很多呀。不用自己去重新分配内存了。

【在 t********e 的大作中提到】
: 对~是可以
: 不过internally StringBuffer也是用char array实现的呀……

avatar
t*e
24
呃,怎么用二进制?
avatar
p*2
25

不过就算用char[]代码也不长。应该还好。

【在 p*****2 的大作中提到】
:
: 写code要简单很多呀。不用自己去重新分配内存了。

avatar
D*f
26
这个其实用list好些,就当是256进制,代码难度和十进制是一样的。
avatar
t*e
27
是说unsigned int?
...java没有这个啊

【在 D**f 的大作中提到】
: 这个其实用list好些,就当是256进制,代码难度和十进制是一样的。
avatar
l*i
28
I think he/she wants you to use INT_MAX as the largest value for a single
digit, if you use vector, then each digit can be as large as 2^32-1,
this is much faster than use each element for a decimal digit.
avatar
t*e
29
没看懂……能给个例子吗

【在 l***i 的大作中提到】
: I think he/she wants you to use INT_MAX as the largest value for a single
: digit, if you use vector, then each digit can be as large as 2^32-1,
: this is much faster than use each element for a decimal digit.

avatar
w*y
30
bless!
avatar
k*s
31
Bless
avatar
p*p
32
big big bless!
avatar
l*c
33
Bless

自选
->

【在 t********e 的大作中提到】
: 实现一个increment an integer by 1的函数,the integer can be huge, 数据结构自选
: e.g., [2,3,6] --> [2,3,7]
: 我一开始用ArrayList, 为的是方便处理最大数位进位的情况, e.g. 999 ->
: 1000。
: 后来经过提醒用char[],这样计算前需要转换成int, 而且如果最大位数要进位需要重
: 新初始化一个char[] ... 不知道这样对吗?
: 关于increment()计算本身,我用iteration和recursive各写了一遍,主要考虑了进位
: ,不过没考虑负数 ... 不知道算不算一个bug?
: 唉,刚开始准备找工作就面了G家,心里好没底啊。希望好心人bless有个onsite吧

avatar
m*2
34
用 arraylist 应该比较简单, 用python几行代码就可以
def increase( i = 0, X = [0] ):
if len(X) < i+1:
X.append(0)
X[i] += 1
if X[i] == INT_MAX:
X[i] = 0
increase(i+1, X)
avatar
c*t
35
他说的很对
list: 12,43,99 = 12*2^32*2^32 + 43*2^32 + 99;
result: 12,43,100
list: 1,INT_MAX, INT_MAX, INT_MAX
result: 2,0,0,0

【在 t********e 的大作中提到】
: 没看懂……能给个例子吗
avatar
e*s
36
bless

自选
->

【在 t********e 的大作中提到】
: 实现一个increment an integer by 1的函数,the integer can be huge, 数据结构自选
: e.g., [2,3,6] --> [2,3,7]
: 我一开始用ArrayList, 为的是方便处理最大数位进位的情况, e.g. 999 ->
: 1000。
: 后来经过提醒用char[],这样计算前需要转换成int, 而且如果最大位数要进位需要重
: 新初始化一个char[] ... 不知道这样对吗?
: 关于increment()计算本身,我用iteration和recursive各写了一遍,主要考虑了进位
: ,不过没考虑负数 ... 不知道算不算一个bug?
: 唉,刚开始准备找工作就面了G家,心里好没底啊。希望好心人bless有个onsite吧

avatar
m*g
37
这题后面其实还有follow-up的,实现两个大数相加
如果只做了一题,玄...

自选
->

【在 t********e 的大作中提到】
: 实现一个increment an integer by 1的函数,the integer can be huge, 数据结构自选
: e.g., [2,3,6] --> [2,3,7]
: 我一开始用ArrayList, 为的是方便处理最大数位进位的情况, e.g. 999 ->
: 1000。
: 后来经过提醒用char[],这样计算前需要转换成int, 而且如果最大位数要进位需要重
: 新初始化一个char[] ... 不知道这样对吗?
: 关于increment()计算本身,我用iteration和recursive各写了一遍,主要考虑了进位
: ,不过没考虑负数 ... 不知道算不算一个bug?
: 唉,刚开始准备找工作就面了G家,心里好没底啊。希望好心人bless有个onsite吧

avatar
n*e
38
对啊,这道看起来只是前面的一个子问题,后面主要要用这个method去实现大数相加的
吧?
avatar
Q*e
39
看来面试官是想节省内存
干脆char存2位数字就可


【在 t********e 的大作中提到】
: 说明一下,当时他问用int (4 bytes)存一个0-9的integer太浪费了,怎么办?
: 我就说用char? 他说那你试试……

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