在国外一跟老外吵架口语立刻就不够用了

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
把贵司招聘信息放这里
查看: 1800|回复: 4
收起左侧

Drive.AI SDE OA两题

[复制链接] |试试Instant~ |关注本帖
lijiyao111 发表于 2017-6-12 21:56:44 | 显示全部楼层 |阅读模式

2017(1-3月) 码农类General 博士 全职@Drive.AI - 网上海投 - 在线笔试  | Other | 在职跳槽

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

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

x
说一下他家的OA,两题, 两小时time limit。
第一题简单, merge two sorted array, in place.
第二题有些难,类似topological sort,但又不一样。
. more info on 1point3acres
# Description:

In Docker, building an image has dependencies. An image can only be built once its dependency is built (If the dependency is from outside, then the image can be built immediately).

Sometimes, engineers make mistakes by forming a cycle dependency of local images. In this case, ignore the cycle and all the images depending on this cycle.

Input is vector of pair of images (image, its dependency).. 1point 3acres 论坛
. 1point3acres
Output the order of images to be built in order.

##Example:
```
Example 1:
{{"master", "ubuntu"}, {"numpy", "master"}, {"tensorflow", "numpy"}}
Output: master, numpy, tensorflow

Example 2:
{{"python", "numpy"}, {"numpy", "python"}, {"tensorflow", "ubuntu"}}
Output: tensorflow

Example 3:
{{"b", "c"}, {"c", "d"}, {"a", "b"}, {"d", "e"}, {"e","c"}, {"f", "g"}}
Ouput: f
```.留学论坛-一亩-三分地


lcq123 发表于 2017-6-30 10:45:12 | 显示全部楼层
请问楼主可不可以用Java
回复 支持 反对

使用道具 举报

chaohubian 发表于 2017-8-26 03:35:38 | 显示全部楼层
  1. class Solution482 {
  2. public:
  3.     vector<string> detectCycle(vector<vector<string>>& image) {
  4.         if (image.empty()) {. 牛人云集,一亩三分地
  5.             return {};
  6.         }. 1point3acres
  7.         unordered_map<string, bool> available;
  8.         vector<string> output;
  9.         unordered_map<string, vector<string>> graph;
  10.         buildGraph(image, graph);
  11.         int leng=graph.size();
  12.         unordered_map<string, bool> visited;
  13.         unordered_map<string, bool> recStack;
  14.         for (auto it = graph.begin(); it != graph.end(); ++it) {
  15.             //case 1:not visited
  16.             visited[it->first]=false;
  17.             recStack[it->first]=false;. from: 1point3acres
  18.         }
  19.         for (auto it = graph.begin(); it != graph.end(); ++it) {
  20.             if (recStack[it->first]==true) {
  21.                 continue;
  22.             }
  23.             if (!isCyclicHelper(it->first, graph, visited, recStack)) {. 1point 3acres 论坛
  24.                 available[it->first]=true;
  25.             }
  26.         }
  27.         topoSort(graph, available, output);
  28.         return output;
  29.     }
  30.     void test() {
  31.         vector<vector<string>> graph;
  32.         vector<string> result;
  33.         graph={{"master", "ubuntu"}, {"numpy", "master"}, {"tensorflow", "numpy"}};
  34.         result=detectCycle(graph);. Waral 博客有更多文章,
  35.         //Output: ubuntu, master, numpy, tensorflow. Waral 博客有更多文章,
  36.         for (auto i : result) {. 1point 3acres 论坛
  37.             cout<<i<<" ";
  38.         }
  39.         cout<<endl;
  40.         graph={{"python", "numpy"}, {"numpy", "python"}, {"tensorflow", "ubuntu"}};
  41.         result=detectCycle(graph);
  42.         //Output: ubuntu, tensorflow
  43.         for (auto i : result) {
  44.             cout<<i<<" ";. 一亩-三分-地,独家发布
  45.         }
  46.         cout<<endl;
    . 1point3acres
  47.         graph={{"b", "c"}, {"c", "d"}, {"a", "b"}, {"d", "e"}, {"e","c"}, {"f", "g"}};
  48.         result=detectCycle(graph);
  49.         //Ouput: g, f
  50.         for (auto i : result) {
  51.             cout<<i<<" "; 来源一亩.三分地论坛.
  52.         }
  53.         cout<<endl;
  54.     }
  55. private:. 1point 3acres 论坛
  56.     void topoSort(unordered_map<string, vector<string>> graph, unordered_map<string, bool>& available, vector<string>& result) {
  57.         unordered_map<string, int> state;. visit 1point3acres for more.
  58.         for (auto it = graph.begin(); it != graph.end(); ++it) {
  59.             state[it->first]=0;
  60.         }
  61.         for (auto it = graph.begin(); it != graph.end(); ++it) {
  62.             if (available[it->first]==true) {
  63.                 visit(graph, it->first, result, state);. 留学申请论坛-一亩三分地
  64.             }. From 1point 3acres bbs
  65.         }
  66.         return;. 一亩-三分-地,独家发布
  67.     }
  68.    
  69.     void visit(unordered_map<string, vector<string>>& image,
  70.                string it,
  71.                vector<string>& list,
  72.                unordered_map<string, int>& state) {
  73.         if (state[it]==3) {
  74.             return;. Waral 博客有更多文章,
  75.         }
  76.         if (state[it]==2) {
  77.             return;
  78.         }
  79.         state[it]=2;
  80.         for (auto neib:image[it]) {
  81.             visit(image, neib, list, state);
  82.         }
  83.         state[it]=3;
  84.         list.push_back(it);
    .1point3acres网
  85.     }
  86.                . 一亩-三分-地,独家发布
  87.     void buildGraph(vector<vector<string>>& image, unordered_map<string, vector<string>>& graph) {
  88.         for (int i=0; i<image.size(); i++) {
  89.             graph[image[i][0]].push_back(image[i][1]);
  90.         }
  91.     }
  92.    
  93.     bool isCyclicHelper(string v, unordered_map<string, vector<string>>& graph, unordered_map<string, bool>& visited, unordered_map<string, bool>& recStack) {
  94.         if (visited[v]==false) {
  95.             visited[v]=true;-google 1point3acres
  96.             recStack[v]=true;
  97.             for (auto it=graph[v].begin(); it!=graph[v].end(); ++it) {
  98.                 if (!visited[*it] && isCyclicHelper(*it, graph, visited, recStack)) {
  99.                     return true;
  100.                 }
  101.                 else if (recStack[*it]==true) {.本文原创自1point3acres论坛
  102.                     return true;
  103.                 }
  104.             }
  105.         }
  106.         recStack[v]=false;. 1point3acres
  107.         return false;
  108.     }
  109. };
  110. 这里的E1 为什么不输出ubuntu, E2 也是, E3 为什么不输出g呢
复制代码
回复 支持 反对

使用道具 举报

Urumic 发表于 2018-1-15 06:45:00 | 显示全部楼层
所以就是说,一个图里面的第一个元素都不用放在结果里对吗?
回复 支持 反对

使用道具 举报

Urumic 发表于 2018-1-15 09:02:33 | 显示全部楼层

层主可以解释一下那三个状态吗?
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

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

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

custom counter

GMT+8, 2018-5-23 07:51

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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