一亩三分地论坛

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

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

lyft店面

[复制链接] |试试Instant~ |关注本帖
vince6 发表于 2016-9-3 12:47:15 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 本科 全职@lyft - 网上海投 - 技术电面 |Pass在职跳槽

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

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

x
店面   Ceasar Cipher   简单说就是   abc  + 2  --> cde,  xyz + 2 -->  zab  不是字母不变 区分大小写  要求编译通过运行。 .鐣欏璁哄潧-涓浜-涓夊垎鍦
mingzhou1987 发表于 2016-9-3 15:19:09 | 显示全部楼层
input size会不会超过26呢?
回复 支持 反对

使用道具 举报

mingzhou1987 发表于 2016-9-3 16:22:16 | 显示全部楼层
string table = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
string cipher(string a, int shift). 1point 3acres 璁哄潧
{
        if (a.size() < 26)
        {
                return table.substr(table.find(a) + shift % 26, a.size());
        }
        else
        {. 1point3acres.com/bbs
                int m = a.size() % 26;
                return (a + a.substr(m, shift % 26)).substr(shift % 26, a.size());
        }. 鍥磋鎴戜滑@1point 3 acres
}
回复 支持 反对

使用道具 举报

leonardcohen 发表于 2016-9-3 17:21:04 | 显示全部楼层
mingzhou1987 发表于 2016-9-3 16:22. 1point3acres.com/bbs
string table = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";.1point3acres缃
string cipher(string a, int  ...

这个时候如果26个字母背不过,就搞笑了。
我反正从没记准过 abcdefg 和 xyz中间 字母名字和顺序。
只能强行用 len(a), ord(a[-1]), char()之类的了
回复 支持 反对

使用道具 举报

leonardcohen 发表于 2016-9-3 17:48:02 | 显示全部楼层
  1 def cipher(str, shift):
  2     n = len(str)
  3     result = ''
  4     for order in range(ord(str[0])+shift, ord(str[0])+shift+n):
  5         if order > 122:
  6             order = order - 122 + 96 # ord('a') 97, ord('z') 122. 鍥磋鎴戜滑@1point 3 acres
  7         result += chr(order)-google 1point3acres
  8     return result
  9
10 if __name__ == '__main__':. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
11     print(cipher('abc',2) == 'cde')
12     print(cipher('xyz',2) == 'zab')

补充内容 (2016-9-3 17:50):
我在做这个题的时候,发现了一个奇怪的事情, 在自己电脑里做的飞快; 如果是onsite或 电面,估计就不会做了。
尼玛,面试恐惧症啊, 面试得多练!

补充内容 (2016-9-3 17:52):
# Time: O(shift), Space O(len(str))

补充内容 (2016-9-3 19:28):.1point3acres缃
bug fix:
for order in range(old(str[0]) + shift, ord(str[0] + shift + n):
    order = (order -97) % 26 +97 # ord('a') 97
    result += chr(order)
难怪面试过不了, 达不到bug free哦
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-6 11:11

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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