亚麻OA求砸,面经神衣护体!


一亩三分地论坛

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

脸书2017 7月电面

[复制链接] |试试Instant~ |关注本帖
tingtingting 发表于 2017-7-25 01:25:38 | 显示全部楼层 |阅读模式

2017(7-9月) 码农类 硕士 全职@Facebook - 猎头 - 技术电面 |Pass在职跳槽

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

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

x
脸书的hr哥哥找我然后就去店面了,说的还有behvior,结果印度哥哥一上来就说我们直接写代码吧,我想多给你点时间写代码
题目是:task with cool down time, 地里有原题,基本就是说很多类型的task,比如1, 2, 3, 然后同样一种task之间要相隔2个,然后给你一个task的array,然后返回一共要多少时间

没见过这个题目,所以开始卡了很久,而且印度哥哥一点提醒都没有,不过最后还是做出来了。之后想想还挺简单的. from: 1point3acres.com/bbs
. Waral 鍗氬鏈夋洿澶氭枃绔,
约了onsite,但是感觉这个组都是印度人,而且是application engineer,感觉被坑了。。再想能不能换组. 鍥磋鎴戜滑@1point 3 acres

评分

2

查看全部评分

david.fang 发表于 2017-7-25 06:09:48 | 显示全部楼层
楼主,这题看过很多次了。都不是很明白。能不能po个代码。谢谢,加分加分
回复 支持 反对

使用道具 举报

 楼主| tingtingting 发表于 2017-7-25 09:32:55 | 显示全部楼层
用我自己的话说就是:
here is a list of different type of tasks, like {1, 1, 2, 1, 2, 2 }, one number represents one type of task
there need to be a cooldown time 2 between two same type of task, like
{1, 1} => {1, cooldown, cooldown, 1}
{1, 2, 1} => {1, 2, cooldown, 1}
{1, 2, 2, 1} => valid
return the total length of the list with cooldown time
. 1point3acres.com/bbs
补充内容 (2017-7-25 11:14):
改一下,最后那个也不是valid,着急写错了,如果是{1, 2, 3, 1}就是valid的了 感谢@chris612ku
回复 支持 反对

使用道具 举报

 楼主| tingtingting 发表于 2017-7-25 09:34:20 | 显示全部楼层
david.fang 发表于 2017-7-25 06:09-google 1point3acres
楼主,这题看过很多次了。都不是很明白。能不能po个代码。谢谢,加分加分

用我自己的话说就是:
here is a list of different type of tasks, like {1, 1, 2, 1, 2, 2 }, one number represents one type of task
there need to be a cooldown time 2 between two same type of task, like
{1, 1} => {1, cooldown, cooldown, 1}
{1, 2, 1} => {1, 2, cooldown, 1}
{1, 2, 2, 1} => valid
return the total length of the list with cooldown time
回复 支持 反对

使用道具 举报

真淘蛮 发表于 2017-7-25 10:01:54 | 显示全部楼层
tingtingting 发表于 2017-7-25 09:34
用我自己的话说就是:
here is a list of different type of tasks, like {1, 1, 2, 1, 2, 2 }, one num ...

楼主,我没看明白是返回什么呀, . Waral 鍗氬鏈夋洿澶氭枃绔,
{1, 1} => {1, cooldown, cooldown, 1}. return 4?
{1, 2, 2, 1} => valid. return 0?
回复 支持 反对

使用道具 举报

chris612ku 发表于 2017-7-25 10:28:48 | 显示全部楼层
楼主。。。{1,2,2,1} 为社么会是valid?.鏈枃鍘熷垱鑷1point3acres璁哄潧
2,2 不也算是相同的task吗?难道不应该cool down吗?
回复 支持 反对

使用道具 举报

saklyn 发表于 2017-7-25 10:29:57 来自手机 | 显示全部楼层
这个不是189上的题?17.16,太像了
回复 支持 反对

使用道具 举报

 楼主| tingtingting 发表于 2017-7-25 11:14:42 | 显示全部楼层
chris612ku 发表于 2017-7-25 10:28
楼主。。。{1,2,2,1} 为社么会是valid?
2,2 不也算是相同的task吗?难道不应该cool down吗?

谢谢指出!改过来啦!着急写的没注意
回复 支持 反对

使用道具 举报

fanggan1991 发表于 2017-7-27 02:36:45 | 显示全部楼层
应该是利特口的原题刘二义,和伞武巴挺像的?
回复 支持 反对

使用道具 举报

congsen1991 发表于 2017-7-27 03:34:08 | 显示全部楼层
 我在leetcode上讨论区里见过这题,而且还有一个变形,变形比较难。
变型是说把这些tasks给你然后问你怎么重新排列用时最少。
回复 支持 反对

使用道具 举报

congsen1991 发表于 2017-7-27 03:47:29 | 显示全部楼层
还有这替我大概写了下,不知道对不对,但对于"aba",2的输入得到的结果是4,"abbacab", 3 接果是10(a b . . . b a . . b). 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
代码是这样的
public class Task_with_cool_down {
        public int TaskTime(String tasks, int cooldown){
                char[] taskList = tasks.toCharArray();
                Map<Character, Integer> map = new HashMap<>();
                int timeline = 0;
                for(char task: taskList){. Waral 鍗氬鏈夋洿澶氭枃绔,
                        if(!map.containsKey(task)){
                                map.put(task, timeline);. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
                                timeline += 1;.鏈枃鍘熷垱鑷1point3acres璁哄潧
                        }
                        else{.鏈枃鍘熷垱鑷1point3acres璁哄潧
                                int prevTime = map.get(task);
                                if(timeline - prevTime <= cooldown){
                                        timeline = prevTime + cooldown + 2;
                                }
                                else{
                                        timeline += 1;
                                }. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
                        }
                }
                return timeline;
        }
}
回复 支持 反对

使用道具 举报

今天是4月19号 发表于 2017-7-29 05:37:36 | 显示全部楼层
楼主这题是不是只要遍历一遍,每次检查前面那字母是否和现在的一样,一样就length+=2, 否则检查前面第二个字母是否和现在的一样,一样就length++?返回length值?是这意思吗?
回复 支持 反对

使用道具 举报

luobo 发表于 2017-7-30 14:25:42 | 显示全部楼层
function coolTime(k, arr) {
    const map = new Map();
    map.set(arr[0], 0);.1point3acres缃
    let next = 1;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
    for (let i = 1; i < arr.length; i++) {. From 1point 3acres bbs
        if (!map.has(arr[i])) {
            map.set(arr[i], next);
        } else {. visit 1point3acres.com for more.
            next = Math.max(map.get(arr[i]) + k + 1, next);
            map.set(arr[i], next);
        }
        next++;
    }
    return next;
}
console.log(coolTime(2, [1, 2, 1]));
console.log(coolTime(2, [1, 1]));
console.log(coolTime(2, [1, 2, 3, 1]));
回复 支持 反对

使用道具 举报

lanyijia 发表于 2017-8-1 06:51:31 | 显示全部楼层
一亩三分地严打"顶""好贴""收藏了"之类的垃圾回复帖!被警告三次,系统会自动封杀ID!

想支持楼主,请点击帖子下方的"好苗""分享""收藏"键,酌情给楼主加大米(系统不扣你自己的分)。. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
积分不够看不了帖子,请参考论坛导航里的"帮助","新手提纲"里有攒积分指南
回复 支持 反对

使用道具 举报

lanyijia 发表于 2017-8-1 06:54:02 | 显示全部楼层
lanyijia 发表于 2017-7-31 14:51
一亩三分地严打"顶""好贴""收藏了"之类的垃圾回复帖!被警告三次,系统会自动封杀ID!

想支持楼主,请点 ...

新手,囧按错了按钮,直接发出去了,也不知道怎么删除,就只能在底下直接回复了。
这个题目和LeetCode 621很像: Task Scheduler
具体LeetCode也出了文章给出了解法。不过需要变动下,这里是算具体要之星多少时间,而楼主是要输出具体运行的字符串。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-10-21 14:27

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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