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

FB电面

全局:

2019(10-12月) 码农类General 硕士 全职@meta - 猎头 - 技术电面  | | Pass | 在职跳槽

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

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

x
FB电面,争取为下一轮攒人(大)品(米)。

面试官上来先是客套话问我今天过得怎么样,我说不错啊,你呢?面试官:“我车窗被砸了,所以早上心情不太好。。。” 我:“您节哀。。。”

之后就直接进入答题环节了:
如果有一些长短不一(但是长度都是整数)的木头,和一个正整数X,那么能截
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
-10 11:39):
之前没见过这道题,面试时试了几个思路才选定对切分后的长度做binary search. 面试之后也没有想到更好的解法。

评分

参与人数 16大米 +24 收起 理由
eraser + 1 给你点个赞!
Yuyan + 1 很有用的信息!
这是五百颗大米 + 2 很有用的信息!
xuwang0207 + 1 很有用的信息!
gtx1060 + 1 赞一个

查看全部评分


上一篇:谷哥winterOA
下一篇:7-Eleven OA (intern)
推荐
梅亮 2019-9-10 12:35:39 | 只看该作者
全局:
binary search, trial and error, 类似于koko eating bananas

  1.     public static int woodcut(int[] woods, int target) {
  2.         if (woods == null || woods.length == 0) return -1;
  3.         int min = Integer.MAX_VALUE, max = Integer.MIN_VALUE, sum = 0;
  4.         for (int i = 0; i < woods.length; ++i) {
  5.             min = Math.min(min,woods[i]);
  6.             max = Math.max(max,woods[i]);
  7.             sum += woods[i];
  8.         }
  9.         if (target > sum || min <= 0 ) return -1;
  10.         int l = min, r = max;
  11.         while (l < r) {
  12.             int m = (l+r)/2 + 1;
  13.             int count = countWood(woods,m);
  14.             if (count < target) {
  15.                 r = m - 1;
  16.             } else {
  17.                 l = m;
  18.             }
  19.         }
  20.         return countWood(woods,l) >= target ? l : -1;

  21.     }

  22.     private static int countWood(int[] woods, int cutLen) {
  23.         int count = 0;
  24.         for (int wood : woods) {
  25.             count += wood/cutLen;
  26.         }
  27.         return count;
  28.     }
复制代码
[/i][/i][/i]

评分

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

查看全部评分

回复

使用道具 举报

推荐
valentin508 2019-9-26 16:01:40 | 只看该作者
全局:
  1. class Solution {
  2.     public int cutWood(int[] wood, int k){
  3.         if(wood.length == 0 || k == 0) return 0;
  4.         int left = 1, right = Integer.MAX_VALUE;
  5.         int res = 0;
  6.         if(!canCut(wood, left, k)) return 0;
  7.         while(left <= right){
  8.             int mid = left + (right - left) / 2;
  9.             boolean valid = canCut(wood, mid, k);
  10.             if(valid){
  11.                 left = mid + 1;
  12.                 res = mid;
  13.             }
  14.             else right = mid - 1;
  15.         }
  16.         return res;
  17.     }
  18.    
  19.     private boolean canCut(int[] woods, int n, int k){
  20.         int count = 0;
  21.         for(int wood: woods) count += wood;
  22.         return count / n >= k;
  23.     }
  24. }
复制代码


这边写了个稍微concise的版本
回复

使用道具 举报

推荐
oml 2019-9-9 21:01:13 | 只看该作者
全局:
should be this one

Given an int array wood representing the length of n pieces of wood and an int k. It is required to cut these pieces of wood such that more or equal to k pieces of the same length len are cut. What is the longest len you can get?
回复

使用道具 举报

🔗
EbyccoCheng 2019-9-9 17:45:46 | 只看该作者
全局:
楼主能不能举个例子。。没看太懂这道题
回复

使用道具 举报

🔗
derek09 2019-9-9 18:07:54 | 只看该作者
全局:
没看太懂这道题,楼主举几个例子,或者可以说的更详细一些吗?感谢
回复

使用道具 举报

🔗
li2he1 2019-9-9 20:14:40 | 只看该作者
全局:
楼主能给点细节和例子吗,谢谢
回复

使用道具 举报

🔗
wbwxshao 2019-9-9 22:42:33 | 只看该作者
全局:
请问楼主可以给下解题思路吗
回复

使用道具 举报

🔗
jimmytzm 2019-9-9 23:41:43 | 只看该作者
全局:
请问楼主可以是面的什么岗位或者组呢?
回复

使用道具 举报

全局:
比如五根木头长度分别为1,2,3,4,5,
要切出5段,最大长度是2
要切7段,最大长度是1
要切16段,切不了

binary search
回复

使用道具 举报

🔗
sweetpea 2019-9-10 01:11:16 | 只看该作者
全局:
这题叫wood cut

评分

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

查看全部评分

回复

使用道具 举报

🔗
gundamkeroro 2019-9-10 04:21:53 | 只看该作者
全局:
二分法 这题是二分法经典入门题
回复

使用道具 举报

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

本版积分规则

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