楼主: 匿名
跳转到指定楼层
上一主题 下一主题
收起左侧

脸VO downlevel E4 面经

地里匿名用户
🔗
匿名用户-5NQLO  2021-2-27 00:29:00
jy_121 发表于 2021-2-26 13:50
问下楼主电面的followup是怎么回答的?谢谢

基本和前面一样的,把小数点对齐,然后还是从后往前加,遇到小数点的话跳过。
可以理解成小数点之后短的那个数字末尾补0,直到两个数字小数点后面的长度一样,再从后往前加。

回复

使用道具 举报

🔗
Mr.Sagemaker 2021-2-27 03:31:43 | 只看该作者
全局:
建议LZ拿亚麻练练手, BQ功力可以迅速爆表
回复

使用道具 举报

🔗
aaaaal 2021-2-27 11:09:17 | 只看该作者
全局:
多谢详细的分享
回复

使用道具 举报

🔗
billyRandom 2021-3-1 14:16:48 | 只看该作者
全局:
VO 第二轮的第一题找某个连续子序列的乘积最大是用DP做的吗?
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-5NQLO  2021-3-2 00:41:13
billyRandom 发表于 2021-3-1 14:16
VO 第二轮的第一题找某个连续子序列的乘积最大是用DP做的吗?

是的。 zszszs
回复

使用道具 举报

🔗
whiteboard 2021-3-4 03:50:04 | 只看该作者
全局:
“电面:415, followup:如果有小数点的处理”

贴个带小数点的,写起来还是有点麻烦

  1. class Solution {
  2. public:
  3.     string addStrings(string num1, string num2) {
  4.         auto dot1 = num1.find(".");
  5.         auto dot2 = num2.find(".");

  6.         int len1 = 0, len2 = 0;
  7.         if (dot1 != string::npos)
  8.             len1 = num1.size() - dot1 - 1;
  9.         if (dot2 != string::npos)
  10.             len2 = num2.size() - dot2 - 1;

  11.         if (len1 || len2) {
  12.             if (len1 == 0) num1.push_back('.');
  13.             if (len2 == 0) num2.push_back('.');

  14.             int n = max(len1, len2);
  15.             //补齐小数点后的0,比如:"19" + "3.78",变为:"19.00" + "3.78"
  16.             num1.append(n - len1, '0');
  17.             num2.append(n - len2, '0');
  18.         }

  19.         return add(num1, num2);
  20.     }
  21.    
  22.     string add(string &num1, string &num2) {
  23.         int len1 = num1.size(), len2 = num2.size();
  24.    
  25.         int i = len1 - 1, j = len2 - 1;
  26.    
  27.         string result;
  28.         int carry = 0;
  29.    
  30.         while (i >= 0 || j >= 0) {
  31.             if ((i >= 0 && num1[i] == '.')) {
  32.                 i--;
  33.                 j--;
  34.                 result.push_back('.');
  35.                 continue;
  36.             }

  37.             int sum = carry;
  38.             if (i >= 0)
  39.                 sum += num1[i--] - '0';
  40.             if (j >= 0)
  41.                 sum += num2[j--] - '0';
  42.    
  43.             result.push_back(sum % 10 + '0');
  44.             carry = sum / 10;
  45.         }

  46.         if (carry)
  47.             result.push_back('1');

  48.         auto pos = result.find(".");
  49.         i = 0;
  50.         if (pos != string::npos) {
  51.             while (result[i] == '0')
  52.                 i++;
  53.             if (result[i] == '.')
  54.                 i++;

  55.         }

  56.         reverse(result.begin() + i, result.end());

  57.         return result.substr(i);
  58.     }
  59. };
复制代码
回复

使用道具 举报

🔗
yulian 2021-3-6 17:58:05 | 只看该作者
全局:
whiteboard 发表于 2021-3-4 03:50
“电面:415, followup:如果有小数点的处理”

贴个带小数点的,写起来还是有点麻烦

小数点前、后分开处理,最后再合并。
回复

使用道具 举报

🔗
xxhs33 2021-3-7 09:55:24 | 只看该作者
全局:
请问楼主system design是选择的product track还是system track?
回复

使用道具 举报

🔗
苏浅 2021-3-7 12:40:36 | 只看该作者
全局:
老哥 投的是general 的职位还是某个具体的职位?
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-5NQLO  2021-3-7 13:48:37
xxhs33 发表于 2021-3-7 09:55
请问楼主system design是选择的product track还是system track?

我也不知道。recruiter问我想面OOD还是distributed system design。我选了后者。
回复

使用道具 举报

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

本版积分规则

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