【通知】7月22,工业界资深数据科学家教你破解各大公司面试!


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 228|回复: 3
收起左侧

Cousera OA 2题 (90分钟)06/29/17

[复制链接] |试试Instant~ |关注本帖
wcz199165 发表于 2017-6-30 08:15:26 | 显示全部楼层 |阅读模式

2017(7-9月) 码农类 硕士 全职@cousera - 网上海投 - 在线笔试 |Failfresh grad应届毕业生

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

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

x
大概6.20左右海投的一个cousera的职位,拿了OA,今天下午做的,一共2题,90分钟完成。
楼主第一题过了,第二题一开始想叉了,最后没做完,应该是挂了。
第一题忘记截图了,描述如下:
其实和leetcode的subset2差不多,只不过输入数据是一个字符串,例如:“apple,apple,banana,orange”(每个字符串之间都有一个逗号隔开);让你返回所有不重复的组合,放在字符串数组里. 1point 3acres 璁哄潧
例如返回:-google 1point3acres
{. 1point3acres.com/bbs
"apple"
"apple,apple"
"apple,apple,banana"
"apple,apple,banana,orange"
"apple,apple,orange"
"apple,banana"
. from: 1point3acres.com/bbs "apple,orange"
"banana"
"banana,orange"-google 1point3acres
"orange"
}
顺序无所谓。

楼主用java做的,比较简单。和subset2DFS的思想差不多,只要处理一下字符串的存储就行了,我是放在一个list里,排了序,结果也是用list存,最后再放回字符串数组里。
.1point3acres缃
第二题下一层楼发

. more info on 1point3acres.com

补充内容 (2017-6-30 08:35):
刚才查了下楼主6.18投的一个叫Software Engineer, Data Infrastructure的职位,20号收的OA。不是new graduate的职位。但楼主自己其实是new gradate,也不知道为什么会给OA````Anyway,反正都挂了
 楼主| wcz199165 发表于 2017-6-30 08:27:13 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
第二题:sorting nested dictionary
我本来截图了的···,可是发现发图好麻烦啊···,就不发图了,我把题意说一下:
给一个字符串,字符串里面的每一个元素都是一个键值对,有key和value,例如 a:apple 或者c:change 值可以嵌套:例如 b:{cb:cranbery,bb:bluberry,bd:{}},嵌套的大括号里面可以为空。
要求按照key将所有的键值对排序,再返回一个新的String;
例如输入字符串:{b:{cb:cranberyy,bb:blueberry},a:apple,c:cherry}
返回字符串:{a:apple,b:{bb:blueberry,cb:cranbery},c:cherry}
即先把内层的{}按key排好序,再以此把外层排序。题目保证输入数据是合法的,开始和结束字符一定是'{' 和 '}'

楼主自己也比较水,拿到这个题刚开始一脸懵逼,感觉应该是递归,后来写了半天也写不对,最后想用着用正常的循环遍历做,后来来不及了。下来之后在codepad上接着写完了,试跑了两组数据没问题,不过不知道最后能不能过,只能作参考:
  1. class Solution {
  2.   public static void main(String[] args) {
  3.     String input = "{b:{cb:{cbz:cbzkk,cba:{cbad:cranberry,cbac{}}},bb:blueberry},a:apple,c:cherry}";
  4.     sort_entries(input);. visit 1point3acres.com for more.
  5.   }
  6.   /*
  7. * Complete the function below.. from: 1point3acres.com/bbs
  8. */

  9.     static void sort_entries(String input) {
  10.         char[] arr = input.toCharArray();
  11.         int len = arr.length;
  12.         Stack<Integer> stack = new Stack<>();
  13.         for (int i = 0; i < len; i++) {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  14.            if (arr[i] == '{') {
  15.                stack.push(i);
  16.            } else if (arr[i] == '}') {
  17.                 sort(arr, stack.pop() + 1, i - 1);
  18.            }           . From 1point 3acres bbs
  19.         }
  20.       //return arr.toString();
  21.        System.out.println( String.valueOf(arr));

  22.     }
  23.     public static void sort (char[] arr, int start, int end) {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

  24.         if (start >= end) {
  25.           return ;
  26.         }         
  27.         List<String> temp = new ArrayList<>();
  28.         StringBuilder builder = new StringBuilder();. visit 1point3acres.com for more.
  29.         Stack<Integer> stack = new Stack<>(); 鏉ユ簮涓浜.涓夊垎鍦拌鍧.

  30.         for (int i = start; i <= end; i++) {.鐣欏璁哄潧-涓浜-涓夊垎鍦
  31. .鏈枃鍘熷垱鑷1point3acres璁哄潧
  32.            if (arr[i] == '{') {
  33.                stack.push(i);
  34.            }
  35.            if (arr[i] == '}') {
  36.                stack.pop();
  37.            }
  38.            if (arr[i] == ',' && stack.isEmpty()){
  39.               temp.add(builder.toString());
  40.               builder = new StringBuilder();
  41.               continue;.1point3acres缃
  42.            }
  43.             builder.append(arr[i]);
  44.         }
  45.         temp.add(builder.toString());
  46.         Collections.sort(temp);
  47.         int index = start;
  48.         for(int i = 0; i < temp.size(); i++) {
  49.             for(int j = 0; j < temp.get(i).length(); j++) {
  50.                 arr[index++] = temp.get(i).charAt(j);. Waral 鍗氬鏈夋洿澶氭枃绔,
  51.             }
  52.             if(i != temp.size() - 1) {
  53.               arr[index++] = ',';
  54.             }           
  55.         }   -google 1point3acres

  56.     }
复制代码

. 1point3acres.com/bbs

. 1point3acres.com/bbs
回复 支持 反对

使用道具 举报

lcq123 发表于 2017-6-30 08:30:02 | 显示全部楼层
关注一亩三分地微博:
Warald
请问楼主是投的是new grad 吗?
我在Coursera官网上貌似没发现new grads的职位呀?  
回复 支持 反对

使用道具 举报

 楼主| wcz199165 发表于 2017-6-30 08:35:38 | 显示全部楼层
lcq123 发表于 2017-6-30 08:30
请问楼主是投的是new grad 吗?
我在Coursera官网上貌似没发现new grads的职位呀?

楼主投的是Software Engineer, Data Infrastructure的职位
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-7-21 19:10

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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