一亩三分地论坛

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

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

谷歌 在线测试 5/21

[复制链接] |试试Instant~ |关注本帖
jjustc 发表于 2016-5-22 10:36:36 | 显示全部楼层 |阅读模式

2016(4-6月) 码农类 硕士 全职@Google - 猎头 - 在线笔试 |Otherfresh grad应届毕业生

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

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

x
刚做完了谷歌家在线测试 来说一下
. 鍥磋鎴戜滑@1point 3 acres
题目跟大家汇报的差不多,只是稍有区别。再做的时候一定好好审题。

第一题改成了 『相邻两个字符被这俩字符中较大的那个取代』,然后求所有的结果中最小的那个数。这题很容易,按下不表。

第二题,我之前自己练习的是,绝对路径(不包含文件名)长度之和;而今天题目就是绝对路径之和,是包含图片文件名的。
因此,之前如果一个folder下有多个图片的话,只能算一次;而现在你都要算的,因为文件名肯定不同。
把处理跳过同一个文件夹下图片的code删掉即可。我是用stack做的,代码好多同学都贴过了,我就不贴了。

看着倒计时debug的感觉好紧张,两度出汗……

. 1point3acres.com/bbs
祝大家好运,都有好offer!

评分

4

查看全部评分

Luna_gln 发表于 2016-6-6 06:04:54 | 显示全部楼层
求楼主给发代码!guoluona@gmail.com
回复 支持 反对

使用道具 举报

readman 发表于 2016-6-6 10:39:43 | 显示全部楼层
第一题改成了 『相邻两个字符被这俩字符中较大的那个取代』,然后求所有的结果中最小的那个数。这题很容易,按下不表。. more info on 1point3acres.com

那最后跑完了就一个字符?
回复 支持 反对

使用道具 举报

 楼主| jjustc 发表于 2016-6-6 10:46:24 | 显示全部楼层
readman 发表于 2016-6-6 10:39
第一题改成了 『相邻两个字符被这俩字符中较大的那个取代』,然后求所有的结果中最小的那个数。这题很容易 ...
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
就是只跑一轮……只减少一位数字 - -
回复 支持 反对

使用道具 举报

 楼主| jjustc 发表于 2016-6-6 10:57:53 | 显示全部楼层
Luna_gln 发表于 2016-6-6 06:04
求楼主给发代码!guoluona@gmail.com

我贴一下第二题答案吧,我不记得最后提交的时候有没有在这个基础上再改了。.鐣欏璁哄潧-涓浜-涓夊垎鍦
但是大体就是这样的,参考一下就好……
  1. vector<string> parsePath(string & s) {
  2.     vector<string> result;
  3.     int i = 0;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  4.     while(i < s.length()) {
  5.         int oi = i;
  6.         while(i<s.length() && s[i]!='\n') i++;
  7.         string dir = s.substr(oi, i-oi);
  8.         while(i<s.length() && s[i]=='\n') i++;
  9.         result.push_back(dir);
  10.     }
  11.     return result;
  12. }

  13. int spaceNum(string & s) {. visit 1point3acres.com for more.
  14.     int space = 0;
  15.     while(s[space]==' ') space++;
  16.     return space;
  17. }

  18. bool isFile(string & s) {. From 1point 3acres bbs
  19.     size_t dotpos = s.find_last_of(".");
  20.     return dotpos != string::npos;
  21. }. visit 1point3acres.com for more.
  22. . 鍥磋鎴戜滑@1point 3 acres
  23. int filepath(string & S) {
  24.     int total = 0;
  25.     stack<string> mystack;
  26.     vector<string> files = parsePath(S);
  27.     int pathlength = 0;
  28.     int i = 0;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  29.     while (i < files.size()) {
  30.         string s = files[i];
  31.         size_t dotpos = s.find_last_of(".");.鏈枃鍘熷垱鑷1point3acres璁哄潧
  32.         int current = spaceNum(s);
  33.         if (dotpos == string::npos) {.鐣欏璁哄潧-涓浜-涓夊垎鍦
  34.             if (current == mystack.size()) { mystack.push(s.substr(current)); pathlength += s.length()-current; }
  35.             else {
  36.                 while(mystack.size()>current) { pathlength -= mystack.top().length(); mystack.pop(); }
  37.                 mystack.push(s.substr(current));
  38.                 pathlength += s.length() - current;
  39.             }.鏈枃鍘熷垱鑷1point3acres璁哄潧
  40.             i++;. 1point 3acres 璁哄潧
  41.         }. Waral 鍗氬鏈夋洿澶氭枃绔,
  42.         else {. visit 1point3acres.com for more.
  43.             string ext = s.substr(dotpos+1);
  44.             //while(current>level) { pathlength -= mystack.top().length(); mystack.pop(); level--; }
  45.             if (ext == "jpeg" || ext == "gif" || ext == "png") {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  46.                 size_t spacepos = s.find_first_not_of(" ");
  47.                 string temp = s.substr(spacepos);
  48.                 total += mystack.size() + pathlength + temp.length() + 1;
  49.                 int oi = i;. Waral 鍗氬鏈夋洿澶氭枃绔,
  50.                 while(++i < files.size() && spaceNum(files[i]) == current) {
  51.                     if (isFile(files[i])) files.erase(files.begin()+i);
  52.                 }
  53.                 i = oi+1;
  54.             }
  55.         }
  56.     }
  57.     return total;
  58. }
复制代码
回复 支持 反对

使用道具 举报

readman 发表于 2016-6-6 22:19:32 | 显示全部楼层
jjustc 发表于 2016-6-6 10:57. 1point 3acres 璁哄潧
我贴一下第二题答案吧,我不记得最后提交的时候有没有在这个基础上再改了。.鏈枃鍘熷垱鑷1point3acres璁哄潧
但是大体就是这样的,参考一 ...

谢谢, 能不能把题也贴上来。。。
回复 支持 反对

使用道具 举报

 楼主| jjustc 发表于 2016-6-6 23:02:06 | 显示全部楼层
readman 发表于 2016-6-6 22:19
谢谢, 能不能把题也贴上来。。。

那个题你论坛里搜一下就知道了 都差不多 要是找不到我再贴,避免重复发
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-3 18:14

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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