一亩三分地论坛

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

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

新鲜出炉 Palantir OA

[复制链接] |试试Instant~ |关注本帖
wwtwxlwjh 发表于 2016-9-25 10:12:21 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类 硕士 全职@Palantir - 校园招聘会 - 在线笔试 |Otherfresh grad应届毕业生

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

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

x
楼主前几天收到他家OA,题目是 Catching an Insider Trader, 关注了地里一些日子,貌似还没有人发上来



时间75min 做一道题,最后有10个test case,说明通过正确率筛人。
题目大意就是给一个string数组,里面有股票day|price的信息,还有trader交易的信息day|name|BUY|amount,这种格式。要求找到符合条件的trader,并排序返回. 鍥磋鎴戜滑@1point 3 acres
1. Buy了之后三天之内, 股票涨幅*amount >= 5million
2.Sell了之后三天之内,股票跌幅*amount >= 5million
题目意思挺好理解的,最后debug了一会,要注意最后结果的排序,要现根据day 再根据name排序

怒赞rp,祝大家都找到好工作!. Waral 鍗氬鏈夋洿澶氭枃绔,

评分

5

查看全部评分

xzhuge 发表于 2016-9-27 10:41:48 | 显示全部楼层
whoyo123 发表于 2016-9-27 10:26
楼主能说明一下输入和输出的形式吗?比如股票价格和交易信息是在同一个string数组里的吗?输出是只需要trad ...
. 鍥磋鎴戜滑@1point 3 acres
输入输出都是vector<string>, 股票价格和交易信息都在同一个vector<string>, 每一行一条信息,但是都是交叉的,给的例子是按时间有序的。 输出是时间加trader name, 先时间排序,时间相同trader排序。 OA已挂,祝你成功!
回复 支持 1 反对 0

使用道具 举报

leixiang5 发表于 2016-9-25 10:29:30 | 显示全部楼层
感谢楼主啊!!!!给你大米!!!
回复 支持 反对

使用道具 举报

leixiang5 发表于 2016-9-25 10:38:54 | 显示全部楼层
问一下..不是很理解题目..按照什么排序?.只要trader交易了一次中符合1 或者2条件的话..她就在output里?
回复 支持 反对

使用道具 举报

xzhuge 发表于 2016-9-25 11:10:04 | 显示全部楼层
感谢楼主分享, 请问题目中的day是以哪种形式表示的, 日期还是数字?
回复 支持 反对

使用道具 举报

神罗天征 发表于 2016-9-25 11:17:54 | 显示全部楼层
leixiang5 发表于 2016-9-25 10:38
问一下..不是很理解题目..按照什么排序?.只要trader交易了一次中符合1 或者2条件的话..她就在output里?
. From 1point 3acres bbs
群主你是内推吗?
回复 支持 反对

使用道具 举报

 楼主| wwtwxlwjh 发表于 2016-9-25 11:46:30 | 显示全部楼层
leixiang5 发表于 2016-9-25 10:38
问一下..不是很理解题目..按照什么排序?.只要trader交易了一次中符合1 或者2条件的话..她就在output里?

每次交易只有一个type,Buy或者Sell。 day是int,name是string,然后day一样,再排name
回复 支持 反对

使用道具 举报

 楼主| wwtwxlwjh 发表于 2016-9-25 11:46:37 | 显示全部楼层
xzhuge 发表于 2016-9-25 11:10
感谢楼主分享, 请问题目中的day是以哪种形式表示的, 日期还是数字?

一个数字
回复 支持 反对

使用道具 举报

 楼主| wwtwxlwjh 发表于 2016-9-25 11:46:56 | 显示全部楼层
.鏈枃鍘熷垱鑷1point3acres璁哄潧
好像是careerfair投的。。。。。记不清了。。。
回复 支持 反对

使用道具 举报

leixiang5 发表于 2016-9-25 12:17:21 | 显示全部楼层
. Waral 鍗氬鏈夋洿澶氭枃绔,
- -我没内推..骚扰了recruiter + 网投..不知道哪个奏效了..
回复 支持 反对

使用道具 举报

leixiang5 发表于 2016-9-25 12:17:51 | 显示全部楼层
做完了...卡在case 7 - -..貌似没排序..
回复 支持 反对

使用道具 举报

whoyo123 发表于 2016-9-27 10:26:07 | 显示全部楼层
楼主能说明一下输入和输出的形式吗?比如股票价格和交易信息是在同一个string数组里的吗?输出是只需要trader name, 还是其他什么形式?
多谢了!!!
回复 支持 反对

使用道具 举报

nsy297172408 发表于 2016-9-30 14:36:43 | 显示全部楼层
求问楼主 Input 有说是sorted by date吗? 然后每条String的format是 day|price|name|BUY|amount?  股票价格和交易信息是一起的? 也就是说如果是两个不同的人在同一天做交易,那么input是 “1|500|Bob|BUY|30”, "1|500|Alan|BUY|20"?  

感激不尽!给楼主攒攒RP
回复 支持 反对

使用道具 举报

FENGXIANGLFX 发表于 2016-9-30 17:48:00 | 显示全部楼层
1.求问下支持java码代码吧?
2.vector<String>中,每个String既可能是交易员信息也可能是股票的信息?
3.是不是有交易员有两次交易都符合筛选可能?
回复 支持 反对

使用道具 举报

xzhuge 发表于 2016-10-1 07:42:25 | 显示全部楼层
FENGXIANGLFX 发表于 2016-9-30 17:48
1.求问下支持java码代码吧?
2.vector中,每个String既可能是交易员信息也可能是股票的信息?
3.是不是有 ...

1. 支持呀. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
2. 对的
3. 对。
回复 支持 反对

使用道具 举报

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

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

使用道具 举报

laonong15 发表于 2016-10-1 13:59:37 | 显示全部楼层
有朋友问我这个 , 因为没有足够信息  所以给了个参考解。

仅仅分享  如果OA不过  那是你的错

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;. visit 1point3acres.com for more.
import java.util.SortedMap;
import java.util.SortedSet;
import java.util.TreeMap;. 1point 3acres 璁哄潧
import java.util.TreeSet;

. from: 1point3acres.com/bbs public class CatchInsider {
         Map<Integer,Double> priceMap  = new HashMap<>();
        SortedMap<Integer,SortedSet<Transaction>> transactionMap = new TreeMap<>();

        public Set<String> catchInsiders(String[] input) {. Waral 鍗氬鏈夋洿澶氭枃绔,
                initialData(input);
                Set<String> result = new HashSet<>();
                for (Integer key : transactionMap.keySet()) {
                        SortedSet<Transaction> currentSet = transactionMap.get(key);
                        for (Transaction tr : currentSet) {
                                double curValue = tr.amount * priceMap.get(key);
                                for (int i = 1; i <= 3; i++) {. 1point3acres.com/bbs
                                        if (priceMap.get(key + i) != null) {.鐣欏璁哄潧-涓浜-涓夊垎鍦
                                                double delta = tr.amount * priceMap.get(key + i) - curValue;
                                                if ((tr.buy && delta >= 5000000) || (!tr.buy && delta <= -5000000)) {
                                                        result.add(tr.name);
                                                }
                                        }
                                }

                        }.1point3acres缃
                }
                return result;
. 1point3acres.com/bbs
        }
        private void initialData(String[] input) {
                for(String st : input){. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
                        String[] stArr = st.split("\\|");
                        if(stArr.length == 2) {
                                priceMap.put(Integer.parseInt(stArr[0]),Double.parseDouble(stArr[1]));. 鍥磋鎴戜滑@1point 3 acres
                        } else {
                                Transaction trans = new Transaction(Integer.parseInt(stArr[0]),stArr[2].equals("BUY"),. 鍥磋鎴戜滑@1point 3 acres
                                                stArr[1],Integer.parseInt(stArr[3]));
                                int key = Integer.parseInt(stArr[0]);
                                if(!transactionMap.containsKey(key)){. 1point 3acres 璁哄潧
                                        transactionMap.put(key,  new TreeSet<Transaction>());
                                }
                                transactionMap.get(key).add(trans);
                        }. 1point 3acres 璁哄潧
                }
        }
        public static void main(String[] args) {. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
                String[] data = new String[]{"1|700", "2|10000","3|50","4|700", "5|10","6|50000","1|Bob|BUY|30000", "1|Alan|BUY|20000". From 1point 3acres bbs
                                ,"2|tob|BUY|30000", "3|Ann|BUY|20000","5|Bb|BUY|30000", "4|Aggn|BUY|20000"};
                CatchInsider cs = new CatchInsider();
                System.out.println(cs.catchInsiders(data));. Waral 鍗氬鏈夋洿澶氭枃绔,
        }
       
        class Transaction implements Comparable<Transaction> {. 1point 3acres 璁哄潧
                int day;
                boolean buy;
                String name;
                int amount;
                public Transaction(int day, boolean buy, String name, int amount) {
                        this.day = day;
                        this.buy = buy;
                        this.name = name;
                        this.amount = amount;
                }.鏈枃鍘熷垱鑷1point3acres璁哄潧
                . from: 1point3acres.com/bbs
                @Override
                public int compareTo(Transaction t2) {
                        if(this.day == t2.day){
                                return  this.name.compareTo(t2.name);
                        } else {
                                return this.day -t2.day;
                        }
                         . more info on 1point3acres.com
                }
                 
               
        }
回复 支持 反对

使用道具 举报

FENGXIANGLFX 发表于 2016-10-1 14:20:58 | 显示全部楼层
想问下能用java内置的Collections.sort(List,comparator)做么,需不需要自己写排序函数
回复 支持 反对

使用道具 举报

laonong15 发表于 2016-10-1 14:48:01 | 显示全部楼层
TreeSet<Transaction> tset = new TreeSet<>( new Comparator<Transaction>(){
                        public int compare(Transaction t1, Transaction t2) {
                                if(t1.day == t2.day){
                                        return  t1.name.compareTo(t2.name);-google 1point3acres
                                } else {
                                        return t1.day -t2.day;
                                }
                        }});
回复 支持 反对

使用道具 举报

yiyizheliu 发表于 2016-10-2 02:15:34 | 显示全部楼层
问下楼主,trader的名字会不会有重复?就是一个人交易过多次?
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-9 15:57

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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