一亩三分地论坛

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

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

脸书onsite

[复制链接] |试试Instant~ |关注本帖
yzlwjs 发表于 2016-10-22 14:42:39 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类 硕士 全职@Facebook - 内推 - Onsite |Passfresh grad应届毕业生

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

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

x
  • 利扣91,做完dp解之后,又被问了不用dp怎么做(不限算法时间复杂度)
  • 给n个d维的vector和一个first selected的vector, 选出k个vector,每次选择下一个时要求:选离所有selected vector最远的vector, 计算距离的函数已给出D(v1,v2)并假设调用此函数时间复杂度为O(1), 某vector与所有selected vectors的距离定义为这个vector与其nearest selected neighbor的距离。在面试官的提示下最终找到了复杂度为O(nk)的最优解,对每个unselected的vector存下其与selected vectosr的距离,每次遍历unselected vectors找出距离最远的vector为下一个selected vector, 用这个vector与每个unselected vector的距离去更新距离(若小于原距离,表示nearest selected neighbor更换了)  
  • 给一个task序列ABBABBC, 和相同task的最小interval. 例如interval=3, 则BB运行时间为5(B_ _ _ B, _ 表示wait). 写一个函数输入task序列和interval, 输出总的运行时间。 follow up是给一个序列和interval,task的执行顺序可以打乱,输出optimal(总执行时间最短)的执行顺序
  • 最近在做什么以及细问了简历。给一个手机键盘(只有0-9,不考虑*#那两个位置)样式的棋盘,骑士初始在数字1的位置,问走了s步以后(每步走日字),有多少种可能的走法。提示是可以hard code下一步的位置, 比如1->(6,8)。 应该可以用dp解,时间不多用了DFS/backtracking暴力解了
鏉ユ簮涓浜.涓夊垎鍦拌鍧.

评分

1

查看全部评分

mengmeng88717 发表于 2016-10-28 10:01:01 | 显示全部楼层
第四题的思路. 1point 3acres 璁哄潧
res = sum(dp[i][k])
dp[i][j] = sum { dp[m][j - 1] | if canReach[i][m]}
canReach : boolean[10][10]
canReach[1][6], canReach[1][8], [2][7], [2][9], [3][4], [3][8], [4][3], [4][9], [4][0], [6][1], [6][7], [6][0], [7][2], [7][6], [8][1], [8][3], [9][2], [9][4] = true
init : dp[1][0] = 1;
一维dp就可以,时间应该是O(steps), 空间O(steps + 100)
回复 支持 1 反对 0

使用道具 举报

leixiang5 发表于 2016-10-22 14:54:01 | 显示全部楼层
楼主啥时候面的啊??...比我的难好多- -
回复 支持 反对

使用道具 举报

samuelling 发表于 2016-10-22 15:16:41 | 显示全部楼层
leixiang5 发表于 2016-10-21 22:54. 鍥磋鎴戜滑@1point 3 acres
楼主啥时候面的啊??...比我的难好多- -
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
群主这么晚还不就寝啊
回复 支持 反对

使用道具 举报

hrl1991 发表于 2016-10-22 15:51:01 | 显示全部楼层
第三轮task schedule第一问你的space complexity是多少? 我用的hashmap的方法做space compexity是O(n) interviewer说有更optimal的 但是我没想出来 时间也不多了
回复 支持 反对

使用道具 举报

leixiang5 发表于 2016-10-22 21:06:40 | 显示全部楼层
samuelling 发表于 2016-10-22 15:16. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
群主这么晚还不就寝啊

在加州 有时差的
回复 支持 反对

使用道具 举报

steveguang 发表于 2016-10-22 22:54:46 | 显示全部楼层
楼主可以讲下第一题第四题怎么做的吗?
回复 支持 反对

使用道具 举报

chestnut9919 发表于 2016-10-23 05:57:10 | 显示全部楼层
求问楼主第一题不用dp能咋做??backtrack?
回复 支持 反对

使用道具 举报

 楼主| yzlwjs 发表于 2016-10-24 01:24:03 | 显示全部楼层
chestnut9919 发表于 2016-10-23 05:57
求问楼主第一题不用dp能咋做??backtrack?
. 1point 3acres 璁哄潧
嗯对,字数字数
回复 支持 反对

使用道具 举报

 楼主| yzlwjs 发表于 2016-10-24 01:24:25 | 显示全部楼层
leixiang5 发表于 2016-10-22 14:54
楼主啥时候面的啊??...比我的难好多- -

本月初,字数字数
回复 支持 反对

使用道具 举报

 楼主| yzlwjs 发表于 2016-10-24 01:30:22 | 显示全部楼层
steveguang 发表于 2016-10-22 22:54
楼主可以讲下第一题第四题怎么做的吗?

第一题就是利扣原题呀,不用dp的话,我说的是backtracking/DFS的做法,感觉这个follow up纯粹是小哥没准备别的题了硬加上的
第四题我的暴力解就挺直接的,用dp的话我后来想了想,可以记录到每个位置的走法数(初始状态只有数字1有1种),然后每走一步,根据前一步的位置更新下一步位置的走法数,步数走完以后,把所有位置的走法数加起来就可以了
回复 支持 反对

使用道具 举报

steveguang 发表于 2016-10-24 04:06:27 | 显示全部楼层
yzlwjs 发表于 2016-10-24 01:30. From 1point 3acres bbs
第一题就是利扣原题呀,不用dp的话,我说的是backtracking/DFS的做法,感觉这个follow up纯粹是小哥没准 ...
. 1point 3acres 璁哄潧
楼主走日字是什么意思?矩形对角线吗?有什么限制没有
回复 支持 反对

使用道具 举报

 楼主| yzlwjs 发表于 2016-10-24 10:57:40 | 显示全部楼层
steveguang 发表于 2016-10-24 04:06
楼主走日字是什么意思?矩形对角线吗?有什么限制没有

就是中国象棋里面的马走日,横2步纵1步,或者横1步纵2步
回复 支持 反对

使用道具 举报

liyuanxi23 发表于 2016-10-24 13:05:31 | 显示全部楼层
居然看出来群主了
回复 支持 反对

使用道具 举报

dowhatyoufear 发表于 2016-10-25 00:42:35 | 显示全部楼层
这个多少种可能走法,比如1开始走两步,最后1-6-1,1-6-7,1-8-1,1-8-3 应该是有1,7,3三个Positions. 结果是3吗?如果不是那就有问题了,那就应该是2^steps种不同路径了(即使最后到一样的点)   链接: https://instant.1point3acres.com/thread/195066 来源: 一亩三分地 (Instant 真垃圾!)
回复 支持 反对

使用道具 举报

ericlee27 发表于 2016-10-25 03:37:57 | 显示全部楼层
dowhatyoufear 发表于 2016-10-25 00:42
这个多少种可能走法,比如1开始走两步,最后1-6-1,1-6-7,1-8-1,1-8-3 应该是有1,7,3三个Positions. 结 ...
.鐣欏璁哄潧-涓浜-涓夊垎鍦
我也是这么觉得的。。。
回复 支持 反对

使用道具 举报

 楼主| yzlwjs 发表于 2016-10-25 12:22:17 | 显示全部楼层
dowhatyoufear 发表于 2016-10-25 00:42
这个多少种可能走法,比如1开始走两步,最后1-6-1,1-6-7,1-8-1,1-8-3 应该是有1,7,3三个Positions. 结 ...
. Waral 鍗氬鏈夋洿澶氭枃绔,
是后者,看有多少种不同路径(即使最后到一样的点)。 另外应该是有O(m^steps)种不同路径,有些点出发到下一步的走法不一定是2种, 比如4->(3, 9, 0)
回复 支持 反对

使用道具 举报

dowhatyoufear 发表于 2016-10-25 12:47:53 | 显示全部楼层
yzlwjs 发表于 2016-10-25 12:22
是后者,看有多少种不同路径(即使最后到一样的点)。 另外应该是有O(m^steps)种不同路径,有些点出发 ...

谢谢楼主~BFS或者DFS没觉得有什么不好的。恭喜楼主拿到Offer。
回复 支持 反对

使用道具 举报

Badger96 发表于 2016-10-25 12:57:00 | 显示全部楼层
想请教一下楼主第三问的followup怎么做的?能写一段代码看看吗,十分感谢
回复 支持 反对

使用道具 举报

Badger96 发表于 2016-10-25 13:18:55 | 显示全部楼层
试写了一下code,先统计了frequency of tasks然后用maxHeap做的,楼主能帮忙看看是这样么,感觉还有可以优化的地方,谢谢~
public static String taskSchedule(String str, int k) {
        StringBuilder rearranged = new StringBuilder();
        Map<Character, Integer> map = new HashMap<>();
        for (char c : str.toCharArray()) {
            if (!map.containsKey(c)) {
                map.put(c, 0);
            }
            map.put(c, map.get(c) + 1);
        }. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
-google 1point3acres
        Queue<Map.Entry<Character, Integer>> maxHeap = new PriorityQueue<>(new Comparator<Map.Entry<Character, Integer>>() {
            public int compare(Map.Entry<Character, Integer> entry1, Map.Entry<Character, Integer> entry2) {
                return entry2.getValue() - entry1.getValue();
            }-google 1point3acres
        });
        maxHeap.addAll(map.entrySet());

        while (!maxHeap.isEmpty()) {.鐣欏璁哄潧-涓浜-涓夊垎鍦
            int i = 0;
            ArrayList<Map.Entry<Character, Integer>> temp = new ArrayList<>();
            while (i <= k && !maxHeap.isEmpty()) {
                Map.Entry<Character, Integer> curr = maxHeap.poll();
                rearranged.append(curr.getKey());
                curr.setValue(curr.getValue() - 1);
                temp.add(curr);. visit 1point3acres.com for more.
                i++;
            }
            for (Map.Entry<Character, Integer> e : temp) {
                if (e.getValue() > 0) {
                    maxHeap.offer(e);
                }
            }
        }
        return rearranged.toString();
    }
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-5 23:47

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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