一亩三分地论坛

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

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

第二轮OA乙烷,哭瞎了

[复制链接] |试试Instant~ |关注本帖
apply2015 发表于 2016-2-6 19:00:02 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类 硕士 实习@Fidessa - 网上海投 - 在线笔试 |Other其他

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

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

x
第二轮OA一共四道题,两道编程两道Code Review。。。编程题第一题是找一个序列之内最大一个的matching的位置,. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
具体规则如下
1. 序列首字母必须是大写,否则返回-1,
2.如果一个大写字母后面还是大写字母,那么继续往后找。
3.如果一个大写字母后面紧跟着自己的小写字母,这两个字母就degrade掉,就跟zuma一样,一大写一小写一碰就消失了。
比如:ABbc这个序列,应该返回2,因为B和b碰没之后A和c不match了,所以返回最后一个matching的位置2
再例如ABbCca,返回的是5,因为BbCc碰没掉之后A和amatching,所以返回5.

第二题是一个颜色序列归并
颜色序列是一个colornode类型的链表,要求把两个链表里的颜色按照红橙黄绿蓝靛紫的顺序归并到一个新的列表里面去。
比如
红红绿绿黄黄红
蓝蓝红红靛绿
归并结果就是:
红红红红红晃晃绿绿绿蓝蓝靛
因为第一个题坑的时间太长了,结果全部两道编程狗带. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
后面两个code review一个是挑毛病,一个是写输出结果。
. 1point3acres.com/bbs年三十半夜爬起来做OA就是这个结果,这一年都要糟透了

评分

2

查看全部评分

xiaozhuxiaozhu 发表于 2016-2-6 19:18:00 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
大年30是明天!!
回复 支持 反对

使用道具 举报

霸王 发表于 2016-2-7 09:21:42 | 显示全部楼层
关注一亩三分地微博:
Warald
失败是成功他妈!新的一年会顺利的~新年快乐。
回复 支持 反对

使用道具 举报

zhangbo0216 发表于 2016-2-27 01:01:07 | 显示全部楼层
楼主问下第二题两个链表一开始都是无序的嘛? 所以还要排序?
回复 支持 反对

使用道具 举报

c00der 发表于 2016-3-16 04:10:00 | 显示全部楼层
能否请您分享OA的截图?
求职神器indeed - 在全球最大的求职网站找找适合你的工作?
回复 支持 反对

使用道具 举报

chris-sun 发表于 2016-7-19 06:06:24 | 显示全部楼层
大概 写了一下 第二题 很low 的办法 思路 和leetcode 328 类似
  1. #include <iostream>
  2. #include <string>
  3. #include <stack>. visit 1point3acres.com for more.
  4. using namespace std;
  5. struct node{.鏈枃鍘熷垱鑷1point3acres璁哄潧
  6.         string val;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  7.         node *next;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  8.         node(string x): val(x), next(nullptr){};. 1point3acres.com/bbs
  9. };

  10. node* merge(node *n1, node *n2){.1point3acres缃
  11.         node *Rhead = new node("1");
  12.         node *Ohead = new node("1");
  13.         node *Yhead = new node("1");. 鍥磋鎴戜滑@1point 3 acres
  14.         node *Ghead = new node("1");
  15.         node *Bhead = new node("1");
  16.         node *Ihead = new node("1");
  17.         node *Vhead = new node("1");

  18.         node *Rcur = Rhead;
  19.         node *Ocur = Ohead;
  20.         node *Ycur = Yhead;
  21.         node *Gcur = Ghead;
  22.         node *Bcur = Bhead;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  23.         node *Icur = Ihead;
  24.         node *Vcur = Ihead;

  25.         node *cur = n1;
  26.         . 鍥磋鎴戜滑@1point 3 acres
  27.         while(cur != nullptr){
  28.                 node *tmp = cur;
  29.                 cur = cur -> next;
  30.                 tmp -> next = nullptr;
  31.                 . From 1point 3acres bbs
  32.                 if(tmp -> val == "red") {Rcur -> next = tmp; Rcur = Rcur -> next; }
  33.                 else if(tmp -> val == "orange") {Ocur -> next = tmp; Ocur = Ocur -> next;}
  34.                 else if(tmp -> val == "yellow") {Ycur -> next = tmp; Ycur = Ycur -> next;}
  35.                 else if(tmp -> val == "green") {Gcur -> next = tmp; Gcur = Gcur -> next; }
  36.                 else if(tmp -> val == "blue") {Bhead -> next = tmp; Bhead = Bhead -> next;}
  37.                 else if(tmp -> val == "indigo") {Ihead -> next = tmp; Ihead = Ihead -> next;}-google 1point3acres
  38.                 else if (tmp -> val == "violet") {Vhead -> next = tmp; Vhead = Vhead -> next;}. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

  39.         }

  40.         cur = n2;
  41. .鐣欏璁哄潧-涓浜-涓夊垎鍦
  42.         while(cur != nullptr){
  43.                 node *tmp = cur;
  44.                 cur = cur -> next;
  45.                 tmp -> next = nullptr;
  46.                 . 1point3acres.com/bbs
  47.                 if(tmp -> val == "red") {Rcur -> next = tmp; Rcur = Rcur -> next; }. visit 1point3acres.com for more.
  48.                 else if(tmp -> val == "orange") {Ocur -> next = tmp; Ocur = Ocur -> next;}
  49.                 else if(tmp -> val == "yellow") {Ycur -> next = tmp; Ycur = Ycur -> next;}
  50.                 else if(tmp -> val == "green") {Gcur -> next = tmp; Gcur = Gcur -> next; }
  51.                 else if(tmp -> val == "blue") {Bhead -> next = tmp; Bhead = Bhead -> next;}-google 1point3acres
  52.                 else if(tmp -> val == "indigo") {Ihead -> next = tmp; Ihead = Ihead -> next;}
  53.                 else if (tmp -> val == "violet") {Vhead -> next = tmp; Vhead = Vhead -> next;}
  54.         }
  55.         . 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

  56.         node *res = new node("head");
  57.         cur = res;
  58.         if(Rhead -> next){. 鍥磋鎴戜滑@1point 3 acres
  59.                 cur -> next = Rhead -> next;
  60.                 cur = Rcur;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  61.         }. 1point 3acres 璁哄潧
  62. . 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  63.         if(Ohead -> next){
  64.                 cur -> next = Ohead -> next;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  65.                 cur = Ocur;
  66.         }
  67. . more info on 1point3acres.com
  68.         if(Yhead -> next){
  69.                 cur -> next = Yhead -> next;
  70.                 cur = Ycur;
  71.         }

  72.         if(Ghead -> next){.鐣欏璁哄潧-涓浜-涓夊垎鍦
  73.                 cur -> next = Ghead -> next;
  74.                 cur = Gcur;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  75.         }

  76.         if(Bhead -> next){
  77.                 cur -> next = Bhead -> next;
  78.                 cur = Bcur;
  79.         }

  80.         if(Ihead -> next){. From 1point 3acres bbs
  81.                 cur -> next = Ihead -> next;
  82.                 cur = Icur;
  83.         }

  84.         if(Vhead -> next){
  85.                 cur -> next = Vhead -> next;
  86.                 cur = Vcur;. From 1point 3acres bbs
  87.         }
  88.         .鏈枃鍘熷垱鑷1point3acres璁哄潧
  89.         return res -> next;

  90. }

  91. int main(){-google 1point3acres
  92.         node *n1 = new node("red");
  93.         node *n2 = new node("green");.1point3acres缃
  94.         node *n3 = new node("yellow");
  95.         node *n4 = new node("red");
  96.         n1 -> next = n2; n2->next = n3; n3 -> next = n4;
  97. . from: 1point3acres.com/bbs

  98.         node *n5 = new node("blue");
  99.         node *n6 = new node("red");
  100.         node *n7 = new node("indigo");
  101.         node *n8 = new node("green");
    . 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  102.         node *n9 = new node("orange");
  103.         n5 -> next = n6; n6 -> next = n7; n7 -> next = n8; n8 -> next = n9;
  104. . 1point 3acres 璁哄潧
  105.         cout << "********** in program ********"<<endl;
  106.         node *res = merge(n1, n2);
  107.         while(res != nullptr){
  108.                 cout << res -> val << endl;
  109.                 res = res -> next;
  110.         }
  111.         //cout << res -> val <<endl;
  112. .鏈枃鍘熷垱鑷1point3acres璁哄潧
  113. }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2017-2-28 02:35

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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