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

BB phone sceen

全局:

2018(7-9月) 码农类General 硕士 全职@bloomberg - 猎头 - 技术电面  | | Other | 在职跳槽

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

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

x
刚刚做的📞面试。
直接上题。
写个函数做字符转换。
有米的就加一些吧。
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
的代码。

  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <cassert>

  5. using namespace std;

  6. string translate(string &str, int start_idx, int end_idx){
  7.     assert(end_idx >= start_idx);
  8.     const int repeat_time = 2;
  9.     string ret;
  10.     if(end_idx - start_idx <=  repeat_time){
  11.         ret = str.substr(start_idx, end_idx-start_idx);
  12.     } else {
  13.         int repeat_number = 0;
  14.         repeat_number = end_idx - start_idx;

  15.         string tmp = string(1,str[start_idx]);
  16.         ret = tmp + "#" + to_string(repeat_number);
  17.     }
  18.     return ret;
  19. }
  20. string coding_string(string &str){
  21.     string ret;
  22.     if(str.empty() || str.size() == 0){
  23.         return ret;
  24.     }
  25.     if(str.size() < 3){
  26.         return str;
  27.     }
  28.     int start_idx = 0, end_idx = 0, len = str.size();
  29.     for(int i = 0; i < len; i++){
  30.         if (i == 0){
  31.             start_idx = i;
  32.         } else {
  33.             start_idx = i - 1;
  34.         }
  35.         end_idx = start_idx;
  36.         while((end_idx < len) && (str[start_idx] == str[++end_idx])){

  37.         }
  38.         string cur_str = translate(str, start_idx, end_idx);
  39.         ret += cur_str;
  40.         i = end_idx;
  41.     }
  42.     return ret;
  43. }
  44. int main() {
  45.     /* Enter your code here. Read input from STDIN. Print output to STDOUT */
  46.     string str = "eddddjjwwwwwrjjjkk";
  47.     string ret = coding_string(str);
  48.     cout << str << endl;
  49.     cout << ret << endl;
  50.     return 0;
  51. }
复制代码



评分

参与人数 1大米 +5 收起 理由
mmyn + 5 给你点个赞!

查看全部评分


上一篇:狗家电面后三周了没结果hr也不回消息,有同样经历知道还有没有可能出结果了吗
下一篇:[walmart DS new grad 面經]
🔗
mmyn 2018-10-7 07:42:55 | 只看该作者
全局:
已加米,想问下楼主面试时写的code可以run吗,test case是自带的还是自己输入呀
回复

使用道具 举报

🔗
 楼主| jerryzhang 2018-10-7 09:55:05 | 只看该作者
全局:
谢谢你的加分。
可以run,不过我没有加debug. Test case是面试官给的。shared editor,两人都可以往里面加东西。
回复

使用道具 举报

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

本版积分规则

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