[八我司] 介绍一下Uber tech stack和各个大组的情况

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
把贵司招聘信息放这里
查看: 1465|回复: 1
收起左侧

2014-04-14 Yelp skype面试

[复制链接] |试试Instant~ |关注本帖
johnnywsd 发表于 2014-4-15 06:50:22 | 显示全部楼层 |阅读模式

2014(1-3月) 码农类General 硕士 全职@Yelp - 网上海投 - 技术电面  | Other |

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

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

x

.本文原创自1point3acres论坛
技术问题如下。


""". more info on 1point3acres
1. Write a function to add the two binary number strings.
e.g.
add('100', '10') -> '110'

. from: 1point3acres

2. Follow up, add two number strings with specific base
add('100', '10', 2) -> '110'
add('100', '9', 10) -> '109'


3. Follow up, sum list number strings with specific base
add_strs(['9', '3', '2'], 10) -> '14'
"""


面试小哥很热情,人很好。
. 1point 3acres 论坛
我全部拿Python写的代码。代码如下:
  1. """
  2. 1. Write a function to add the two binary number strings.
  3. e.g.
  4. add('100', '10') -> '110'. From 1point 3acres bbs

  5. 2. Follow up, add two number strings with specific base
  6. add('100', '10', 2) -> '110'
  7. add('100', '9', 10) -> '109'

  8. 3. Follow up, sum list number strings with specific base
  9. add_strs(['9', '3', '2'], 10) -> '14'
  10. """


  11. def add_str_1(a, b):
  12.     alist = [int(x) for x in a[::-1]]
  13.     blist = [int(x) for x in b[::-1]]
  14.     len_a = len(alist). visit 1point3acres for more.
  15.     len_b = len(blist)
  16.     carry = 0
  17.     i = 0
  18.     res = []
  19.     while i < len_a or i < len_b or carry != 0:
  20.         tmp = carry. 围观我们@1point 3 acres
  21.         if i < len_a:
  22.             tmp += alist[i]
  23.         if i < len_b:
  24.             tmp += blist[i]

  25.         if tmp == 3:
  26.             carry = 1
  27.             tmp = 1
  28.         elif tmp == 2:
  29.             carry = 1
  30.             tmp = 0. 1point3acres
  31.         else:
  32.             carry = 0-google 1point3acres
  33.         res.append(tmp)
  34.         i += 1

  35.     return ''.join([str(x) for x in res[::-1]])


  36. def add_str_2(a, b, base):
  37.     """
  38.     2. Follow up, add two number strings with specific base-google 1point3acres
  39.     add('100', '10', 2) -> '110'
  40.     add('100', '9', 10) -> '109'
  41.     """
  42. . 1point 3acres 论坛
  43.     alist = [int(x) for x in a[::-1]]
  44.     blist = [int(x) for x in b[::-1]]
  45.     len_a = len(alist)
  46.     len_b = len(blist)
  47.     carry = 0
  48.     i = 0. Waral 博客有更多文章,
  49.     res = []
  50.     while i < len_a or i < len_b or carry != 0:
  51.         tmp = carry. 1point 3acres 论坛
  52.         if i < len_a:
  53.             tmp += alist[i]
  54.         if i < len_b:. more info on 1point3acres
  55.             tmp += blist[i]

  56.         carry = tmp / base. 1point 3acres 论坛
  57.         tmp = tmp % base

  58.         res.append(tmp)
  59.         i += 1

  60.     return ''.join([str(x) for x in res[::-1]])


  61. def add_str_3(input_list, base):
  62.     """
  63.     3. Follow up, sum list number strings with specific base. 1point3acres
  64.     add_strs(['9', '3', '2'], 10) -> '14'
  65.     """
  66.     if not input_list:
  67.         return 0. 围观我们@1point 3 acres

  68.     while len(input_list) >= 2:
  69.         a = input_list.pop()
  70.         b = input_list.pop()
  71.         tmp = add_str_2(a, b, base)
  72.         input_list.append(tmp)

  73.     return input_list[0]
复制代码
. From 1point 3acres bbs

Unit Test 测试用例如下:
  1. import unittest
  2. from solution import add_str_1. 牛人云集,一亩三分地
  3. from solution import add_str_2
  4. from solution import add_str_3
  5. . from: 1point3acres

  6. class Test(unittest.TestCase):. 一亩-三分-地,独家发布
  7. . 牛人云集,一亩三分地
  8.     def test_add_str_1(self):
  9.         a = '110'
  10.         b = '110'
  11.         res = add_str_1(a, b)
  12.         self.assertEqual('1100', res)

  13.     def test_add_str_2_1(self):. 留学申请论坛-一亩三分地
  14.         a = '110'
  15.         b = '110'
  16.         base = 2.留学论坛-一亩-三分地
  17.         res = add_str_2(a, b, base)
  18.         self.assertEqual('1100', res)

  19.     def test_add_str_2_2(self):. 牛人云集,一亩三分地
  20.         a = '999'.1point3acres网
  21.         b = '1'
  22.         base = 10
  23.         res = add_str_2(a, b, base)
  24.         self.assertEqual('1000', res)

  25.     def test_add_str_2_3(self):
  26.         a = '7'
  27.         b = '2'
  28.         base = 8
  29.         res = add_str_2(a, b, base)
  30.         self.assertEqual('11', res)

  31.     def test_add_str_3_1(self):
  32.         input_list = ['9', '4', '3']
  33.         base = 10. 留学申请论坛-一亩三分地
  34.         res = add_str_3(input_list, base)
  35.         self.assertEqual('16', res)
  36. . Waral 博客有更多文章,
  37. if __name__ == '__main__':
  38.     unittest.main(verbosity=2)
复制代码
.1point3acres网

发题攒人品,求过。

评分

3

查看全部评分

本帖被以下淘专辑推荐:

  • · Yelp|主题: 11, 订阅: 4
 楼主| johnnywsd 发表于 2014-11-25 05:16:48 | 显示全部楼层
这个没人回?. 留学申请论坛-一亩三分地
lz就是个jb
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-5-25 05:17

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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