一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 682|回复: 7
收起左侧

FB电话面试

[复制链接] |试试Instant~ |关注本帖
lehaha 发表于 2015-11-10 01:48:25 | 显示全部楼层 |阅读模式

2015(10-12月) 码农类 本科 全职@Facebook - 猎头 - 技术电面 |Pass在职跳槽

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
电话面试。
问题是很简单的加两个字符串类型的数字,先给的是二进制的字符串。做好了后,面试官问,如果是任意进制的,怎么办?

不难,几个特殊情况处理一下就好了。 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
.1point3acres缃
akluffy 发表于 2015-11-10 12:01:12 | 显示全部楼层
是中国人面试官吗?:-D
回复 支持 反对

使用道具 举报

akluffy 发表于 2015-11-10 12:04:02 | 显示全部楼层
为啥是几个特殊情况处理一下呢?我怎么感觉,只要把 %2, /2里的2改成10就好了。
回复 支持 反对

使用道具 举报

jy_121 发表于 2015-11-10 12:17:30 | 显示全部楼层
akluffy 发表于 2015-11-10 12:04
为啥是几个特殊情况处理一下呢?我怎么感觉,只要把 %2, /2里的2改成10就好了。

同问是不是只要这样改就可以了
回复 支持 反对

使用道具 举报

 楼主| lehaha 发表于 2015-11-10 14:16:23 | 显示全部楼层
不是中国人,看名字是老美。
回复 支持 反对

使用道具 举报

 楼主| lehaha 发表于 2015-11-10 14:17:51 | 显示全部楼层
不是因为base有什么特殊情况。就是把carry over的情况讨论一下,有没有可能大于1,然后,要不要做两次循环。挺简单的。
回复 支持 反对

使用道具 举报

akluffy 发表于 2015-11-11 01:33:50 | 显示全部楼层
lehaha 发表于 2015-11-10 14:17
不是因为base有什么特殊情况。就是把carry over的情况讨论一下,有没有可能大于1,然后,要不要做两次循环 ...
  1. string stringAddition(string s1, string s2) {
  2.     if(s1.length() > s2.length()) return stringAddition(s2, s1); // s2's length is longer than s1 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  3.     string result(s2.length() + 1, '0');
  4.     int i = s1.length() - 1, j = s2.length() - 1;.1point3acres缃
  5.     int carry = 0;
  6.     for(int k = result.length() - 1; k >= 0; --k) {
  7.         int a = i >= 0 ? s1[i--] - '0' : 0;
  8.         int b = j >= 0 ? s2[j--] - '0' : 0;
  9.         result[k] = (a + b + carry) % 10 + '0';
  10.         carry = (a + b + carry) / 10;
  11.     }

  12.     if(result[0] == '0') return result.substr(1);
  13.     else return result;
  14. }

  15. int  main() {
  16.     string s1 = "9", s2 = "99";. 1point3acres.com/bbs
  17.     cout << stringAddition(s1, s2) << endl;
  18. . from: 1point3acres.com/bbs
  19.     return 0;
  20. }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-6 20:17

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表