传说中的谷歌招聘委员会成员之一,从幕后走出来,教你学系统设计!


一亩三分地论坛

 找回密码
 获取更多干活,快来注册
天天打游戏、照样领工资、还办H1B
这份工作你要不要?
把贵司招聘信息放这里
查看: 2718|回复: 10
收起左侧

Snapchat全职电面10.28

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

2015(10-12月) 码农类 硕士 全职@Snapchat - 内推 -  |Otherfresh grad应届毕业生

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

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

x
刚结束的电面 自我介绍和简历聊了不到十分钟 技术题目是写个BigInt的类 只让实现了加法的方法 没让重载运算符 运行完之后一直追问如何提升效率 以及如何将代码进一步美化至可以code review 之后聊天 一个小时左右结束
ssross 发表于 2015-10-29 08:24:09 | 显示全部楼层
楼组能不能细说下什么是BigInt类,看到好几个有说关于这题的……谢谢!
回复 支持 反对

使用道具 举报

 楼主| devilnut 发表于 2015-10-29 08:53:42 | 显示全部楼层
ssross 发表于 2015-10-29 08:24
楼组能不能细说下什么是BigInt类,看到好几个有说关于这题的……谢谢!

非常大的整数 大小会超过INT_MAX
回复 支持 反对

使用道具 举报

ammmmy11 发表于 2015-10-29 14:09:19 | 显示全部楼层
请问楼主优化是从哪些方便优化,除了代码要concise
回复 支持 反对

使用道具 举报

 楼主| devilnut 发表于 2015-10-29 14:13:41 | 显示全部楼层
ammmmy11 发表于 2015-10-29 14:09
请问楼主优化是从哪些方便优化,除了代码要concise

比如可以分段转整数再加起来
回复 支持 反对

使用道具 举报

ammmmy11 发表于 2015-10-29 14:37:19 | 显示全部楼层
devilnut 发表于 2015-10-29 14:13. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
比如可以分段转整数再加起来
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
哦哦如果3个3个分段是不是复杂度就降为n/3这样
回复 支持 反对

使用道具 举报

han275 发表于 2015-11-2 06:33:18 | 显示全部楼层
接口函数长什么样子哦?.鐣欏璁哄潧-涓浜-涓夊垎鍦
这样行吗?

public String add(String num1, String num2) {

        if (null == num1 || null == num2 || (num1.length() == 0 && num2.length() == 0)) {
            return "";
        }
        int len1 = num1.length();
        int len2 = num2.length();

        StringBuffer buffer1 = new StringBuffer(num1);. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
        StringBuffer buffer2 = new StringBuffer(num2);
        int len = len1;
        if (len1 > len2) {
            for (int i = 0; i < len1 - len2; i++) {
                buffer2.insert(0,"0");
            }. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
        } else if (len1 < len2) {
            len = len2;
            for (int i = 0; i < len1 - len2; i++) {
                buffer1.insert(0,"0");
            }
        }
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
        buffer1 = buffer1.reverse();
        buffer2 = buffer2.reverse();
        StringBuffer result = new StringBuffer();
        int carry = 0;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
        for (int i = 0; i < len; i++) {
            int cur = (buffer1.charAt(i) - '0') + (buffer2.charAt(i) - '0') + carry;. more info on 1point3acres.com
            carry = cur / 10;
            cur = cur % 10;
.1point3acres缃            result.insert(0, cur);.鏈枃鍘熷垱鑷1point3acres璁哄潧
        }
        if (carry != 0) {. 1point3acres.com/bbs
            result.insert(0, carry);
        }
        return result.toString();

    }
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2015-11-2 11:12:55 | 显示全部楼层
就是两个string相加吧?
回复 支持 反对

使用道具 举报

han275 发表于 2015-11-2 13:26:44 | 显示全部楼层
bobzhang2004 发表于 2015-11-2 11:12
就是两个string相加吧?

希望是这样,希望题主确认呀。
回复 支持 反对

使用道具 举报

 楼主| devilnut 发表于 2015-11-2 15:10:40 | 显示全部楼层
han275 发表于 2015-11-2 13:26. from: 1point3acres.com/bbs
希望是这样,希望题主确认呀。

对是这样
回复 支持 反对

使用道具 举报

liranxixi 发表于 2015-11-19 02:02:59 | 显示全部楼层
问一下楼主,美化到可以code review是指写注释么?还有BigInt是不是跟leetcode的add binary那题一个性质呀?谢谢,祝楼主offer多多!
https://leetcode.com/problems/add-binary/
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-9-26 22:53

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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