回复: 16
跳转到指定楼层
上一主题 下一主题
收起左侧

houzz店面跪经

全局:

2016(10-12月) 码农类General 硕士 全职@houzz - 内推 - 技术电面  | | Fail | 应届毕业生

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
一面,简直惨不忍睹。。。
一开始讲实习的项目,然后为什么选择houzz,然后2道题
第一题经典题,一堆不同面值的硬币,一个target,找到最少硬币数,求和等于target。(用dp做,2个for loop就行了)
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies


评分

参与人数 1大米 +50 收起 理由
zj45499 + 50

查看全部评分


上一篇:收到Microsoft说他们面试安排不过来了,这就是默拒了吧?
下一篇:有人做过quantcast OA 么

本帖被以下淘专辑推荐:

全局:
lz为啥要记录path啊 只需要记录路径的长度就好了啊 这样写 肯定会爆栈啊

int helper(unordered_map<int, int>& map, int target){
        int count = 0;
        while(target != 1){
                if(map.find(target) != map.end())
                        return count + map[target];
                if(target % 2)
                        target = 3 * target + 1;
                else{
                        target /= 2;
                }
                count++;
        }
        return count;
}
int main(){
        int Max = 0;
        unordered_map<int, int> map;
        for(int i = 1; i <= 1000; i++){
                Max = max(Max, helper(map, i));
        }
        cout << Max << endl;
}
回复

使用道具 举报

全局:
贴个代码吧

var helper = function(n) {
    var count = 0;
    while (n != 1) {

      if ((n & 1) == 1) {

        n = n * 3 + 1;

      } else {

        n /= 2;

      }

      count++;

    }
    return count;
}
回复

使用道具 举报

全局:
这个memoization应该只需要纪录: 当前的值=key, 需要的步数=value, 这样只需要到series走到的upper limit就可以了(1000以内最长是871的length = 178 steps; 对871来说,最大值是190996). 试了一下coderpad应该可以run出来.
楼主可能是因为用path当key才爆栈的.

另外,对每个1~1000每个数间要清map, 由10开始到5, 和由5直接开始到5的step,当然是不一样的.
回复

使用道具 举报

🔗
huai10 2016-11-3 07:19:26 | 只看该作者
全局:
第二题,其实是个数学题,我感觉

补充内容 (2016-11-3 07:52):
好吧,楼主你应该没有做memorization?写了一下感觉跑的很快
回复

使用道具 举报

🔗
 楼主| 小飞侠我去 2016-11-3 08:20:08 | 只看该作者
全局:
huai10 发表于 2016-11-3 07:19
第二题,其实是个数学题,我感觉

补充内容 (2016-11-3 07:52):

用map存不就是memorization吗?我能跑出来,只是面试的时候不知道为什么出不来
回复

使用道具 举报

🔗
白丁117 2017-1-11 23:51:13 | 只看该作者
全局:
lz 序列那题有啥优化吗? 1-1000 算长度有啥技巧吗?谢谢~
回复

使用道具 举报

🔗
 楼主| 小飞侠我去 2017-1-13 06:32:28 | 只看该作者
全局:
白丁117 发表于 2017-1-11 23:51
lz 序列那题有啥优化吗? 1-1000 算长度有啥技巧吗?谢谢~

不是说了吗,在for loop里面用stack把这条路径上的数都记录下来,当某一个数可以从map中得到长度后,再一个个从stack中取数,记录这些数都长度
回复

使用道具 举报

🔗
aiuou 2017-4-9 17:20:53 | 只看该作者
全局:
第二题是DP吧

补充内容 (2017-4-9 17:26):
打错了BFS
回复

使用道具 举报

🔗
miamirain 2017-4-10 00:24:33 | 只看该作者
全局:
第二题最近很流行啊。气床也电面我这个了。这个题在线调试通过时可能会引起心理问题,特别是范围很大的时候,因为map会超过VM的size。
回复

使用道具 举报

🔗
LeeYYY 2017-11-25 17:06:28 | 只看该作者
全局:
shiloh00 发表于 2017-4-3 03:52
lz为啥要记录path啊 只需要记录路径的长度就好了啊 这样写 肯定会爆栈啊

int helper(unordered_map& map ...

这个代码不对吧?。。 因为map貌似没有被更新。?求指导
回复

使用道具 举报

🔗
yangshaoxuan 2018-2-1 00:04:47 | 只看该作者
全局:
如果用本楼的代码,然后在main里面记下每一个i对应的max, 序列最长是178吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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