《数据科学面试40+真题讲解》,K神本年度最后一次开课


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 305|回复: 4
收起左侧

[找工就业] Palantir OA 信息

[复制链接] |试试Instant~ |关注本帖
garycheck 发表于 2017-11-11 18:42:44 | 显示全部楼层 |阅读模式

2018(10-12月)-[]CS硕士+<3个月短暂实习/全职 - 校园招聘会|BayArea 码农类全职@Palantirfresh grad应届毕业生

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

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

x
刚做完Palantir OA 跟大家分享一下
题目还是那道新题 Contractor Fraud, 详细题目在这个帖子:http://www.1point3acres.com/bbs/ ... ;highlight=palantir

用的Hackerrank, 流程是要先pass 8个有input/output的testcase, 全部pass之后会有22个testcase, 每个2-6分不等,总分估计是100分(LZ只拿了85)。
自己做这道题的思路是维持一个Map<String, List<Long[]>>. key 是contractor name, value 是 List of <line number of "START" string, and largest id that appears before the "START" string, 这两个Long用array存起>。另外维持一个 currentMaxId记录当前出现的最大Id. 每次拿到一个新的String, 如果是multiple completion, 先把所有id sort一遍 然后再跟map里面对应contractor name的list进行比较。具体比较方法我的算法感觉有bug,希望全过的大神可以解答一下。

需要注意的点:
1. id 可能是Integer.MAX_VALUE 或者 Integer.MIN_VALUE.
2. 每次处理完completion string之后,要把map里面对应contractor name的list清空,因为这些信息已经用过了。

一些可能有用的testcase:
String[] testCase1 = new String[]{"A;START", "B;START", "B;1", "C;START", "A;15", "C;6", "D;START", "D;24", "E;START", "E;24", "E;START", "E;18", "F;START"};.鏈枃鍘熷垱鑷1point3acres璁哄潧
String[] testCase2 = new String[]{"L;START", "L;10", "A;START", "A;START", "A;8,14"};
String[] testCase3 = new String[]{"L;START", "L;10", "A;START", "A;START", "A;8,9"};
String[] testCase4 = new String[]{"L;START", "A;START", "A;START", "L;10", "A;8,9"};
String[] testCase5 = new String[]{"D;START", "A;START","C;START", "C;28", "D;24", "A;18"};
String[] testCase6 = new String[]{"T;START", "J;START","D;START", "J;4", "D;2", "J;START","L;START","J;5","N;START","T;1", "N;6","L;3"};
String[] testCase7 = new String[]{"Jeremy;START","Leah;START","Leah;50","Jeremy;START","Leah;START","Leah;100","Jeremy;START","Leah;START","Leah;150","Jeremy;START","Jeremy;37,52,68,86","John;START","John;START","John;500,5000"};
String[] testCase8 = new String[]{"L;START", "L;10", "A;START", "A;START","A;START", "A;8,9,10"};
要是大家觉得这些信息有点用的话求点大米!祝大家offer多多!



评分

2

查看全部评分

floraxue 发表于 前天 10:52 | 显示全部楼层
上面手滑了……
感谢楼主,今天刚刚做了这个,test都过了。一开始我也是有3个过不了,后来发现是因为在处理shortened + suspicious batch interleave的那种情况的时候,要loop一遍当前这个人所有的suspicious start entry,只有当suspicious start entry里存的那个值 > all ending invoice的时候,才能确定当前entry一定是一个shortened job
回复 支持 1 反对 0

使用道具 举报

floraxue 发表于 前天 10:46 | 显示全部楼层
一亩三分地严打"顶""好贴""收藏了"之类的垃圾回复帖!被警告三次,系统会自动封杀ID!

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

使用道具 举报

 楼主| garycheck 发表于 前天 17:25 | 显示全部楼层
后续: LZ错了三个TestCase 后来也过了
回复 支持 反对

使用道具 举报

UUOlidd 发表于 昨天 01:34 | 显示全部楼层
楼主是内推还是海投的呢?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-11-21 05:27

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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