回复: 15
跳转到指定楼层
上一主题 下一主题
收起左侧

非死不可 EE 电面 + VO

全局:

2020(7-9月) 码农类General 硕士 全职@meta - 内推 - Onsite  | | Fail | 在职跳槽

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
两个月前面的,分享一下供大家参考,ee是enterprise engineer,bar估计比正常的要低一些我看很多面筋没有系统设计,但是我面的时候好像和正统的sde也是一样的轮数,估计要求高了些。
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Popular Interview Questions from Top Companies



评分

参与人数 12大米 +22 收起 理由
rainly + 2 很有用的信息!
qiuwpp + 1 很有用的信息!
chengw + 2 给你点个赞!
TingDallas + 2 很有用的信息!
StupidCorn + 1 给你点个赞!

查看全部评分


上一篇:compass VO面经
下一篇:热带雨林intern 哦诶2
全局:
chris555 发表于 2020-11-22 09:35
就是分三位数三位数分开弄,我是弄的递归dfs那种写,那种比较慢,不是正则,兄弟给我加个分?

哦,是我理解错了,你想说的应该是“面试官希望要三位数一起处理”,而不是“三位数一起处理的是传统解法”。


  1. class Solution {  static final String[] ONES=new String[] {"","One","Two","Three","Four","Five","Six","Seven","Eight","Nine"};
  2.   static final String[] TENS=new String[] {"","Ten","Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety"};
  3.   static final String[] TEENS=new String[] {"Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"};
  4.   static final String[] UNITS=new String[] {"","Thousand","Million","Billion"};
  5.   public String numberToWords(int num) {
  6.     if(num==0) return "Zero";
  7.     var stack=new Stack<String>();
  8.     while(num>0) {
  9.       var k=num%1000;
  10.       stack.push(helper(k));
  11.       num/=1000;
  12.     }
  13.     var str=stack.pop();
  14.     if(!stack.isEmpty()) {
  15.       str+=" "+UNITS[stack.size()];
  16.     }
  17.     while(!stack.isEmpty()) {
  18.       var s=stack.pop();
  19.       if (s.length()>0) {
  20.         str+=" "+s;
  21.         if (!stack.isEmpty()) str+=" "+UNITS[stack.size()];  
  22.       }
  23.     }
  24.     return str;
  25.   }

  26.   String helper(int k) {
  27.     if (k==0) return "";
  28.     if (k<10) return ONES[k];
  29.     if (k<100) {
  30.       if (k<20) return TEENS[k-10];
  31.       var t=TENS[k/10];
  32.       var o=helper(k%10);
  33.       return o.length()==0?t:(t+" "+o);
  34.     }
  35.     var h=ONES[k/100]+" Hundred";
  36.     var o=helper(k%100);
  37.     return o.length()==0?h:(h+" "+o);
  38.   }
  39. }
复制代码

回复

使用道具 举报

全局:
chris555 发表于 2020-11-22 09:44
是的兄弟,是你贴的这个,我只看了most votes的那个传统的递归写法,这个磕磕巴巴没写出来

这是我自己写的,13-24行还可以用StringBuilder优化一下


  1.     var sb=new StringBuilder();
  2.     while(!stack.isEmpty()) {
  3.       var s=stack.pop();
  4.       if (s.length()>0) {
  5.         if(sb.length()>0) sb.append(" ");
  6.         sb.append(s);
  7.         if(!stack.isEmpty()) sb.append(" ").append(UNITS[stack.size()]);
  8.       }
  9.     }
  10.     return sb.toString();
复制代码
回复

使用道具 举报

推荐
 楼主| chris555 2020-11-22 09:44:21 | 只看该作者
全局:
听说地里有黄金 发表于 2020-11-22 09:39
哦,是我理解错了,你想说的应该是“面试官希望要三位数一起处理”,而不是“三位数一起处理的是传统解法 ...

是的兄弟,是你贴的这个,我只看了most votes的那个传统的递归写法,这个磕磕巴巴没写出来
回复

使用道具 举报

全局:
本帖最后由 听说地里有黄金 于 2020-11-22 09:32 编辑

非传统解法是什么?还可以不三个数分组的做法么?貌似有个正则表达式的解法。不过这也太坑爹了吧。
回复

使用道具 举报

🔗
 楼主| chris555 2020-11-22 09:35:14 | 只看该作者
全局:
听说地里有黄金 发表于 2020-11-22 09:25
非传统解法是什么?还可以不三个数分组的做法么?貌似有个正则表达式的解法。不过这也太坑爹了吧。

就是分三位数三位数分开弄,我是弄的递归dfs那种写,那种比较慢,不是正则,兄弟给我加个分?
回复

使用道具 举报

🔗
bananamon 2020-11-22 09:54:22 | 只看该作者
全局:
为啥没有network 轮
回复

使用道具 举报

🔗
LPT 2020-11-22 14:37:37 | 只看该作者
全局:
我还以为三位数一起做是传统解法...
回复

使用道具 举报

🔗
 楼主| chris555 2020-11-22 21:42:11 | 只看该作者
全局:
bananamon 发表于 2020-11-22 09:54
为啥没有network 轮

这个不是network engineer position。。。兄弟给我加个分把,谢谢
回复

使用道具 举报

🔗
 楼主| chris555 2020-11-22 21:42:38 | 只看该作者
全局:
LPT 发表于 2020-11-22 14:37
我还以为三位数一起做是传统解法...

lol,哎,兄弟给我加个分支持下,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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