一亩三分地论坛

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

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

Snapchat全职电面10.28

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

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

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

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

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);. 鍥磋鎴戜滑@1point 3 acres
        int len = len1;
-google 1point3acres        if (len1 > len2) {
            for (int i = 0; i < len1 - len2; i++) {. 鍥磋鎴戜滑@1point 3 acres
                buffer2.insert(0,"0");
            }
        } else if (len1 < len2) { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
            len = len2;
            for (int i = 0; i < len1 - len2; i++) {
                buffer1.insert(0,"0");
            }. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
        }
.1point3acres缃
        buffer1 = buffer1.reverse();
        buffer2 = buffer2.reverse();
        StringBuffer result = new StringBuffer();. Waral 鍗氬鏈夋洿澶氭枃绔,
        int carry = 0;
        for (int i = 0; i < len; i++) { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
            int cur = (buffer1.charAt(i) - '0') + (buffer2.charAt(i) - '0') + carry;
            carry = cur / 10;
            cur = cur % 10;
            result.insert(0, cur);
        }
        if (carry != 0) {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
            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
希望是这样,希望题主确认呀。
. more info on 1point3acres.com
对是这样
回复 支持 反对

使用道具 举报

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

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-11 10:57

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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