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

狗家电面

全局:

2018(10-12月) 码农类General 硕士 全职@google - 内推 - 技术电面  | | Pass | 应届毕业生

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

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

x
面试官迟到了15分钟orz...不废话,直接做题,只有一道题
您好!
本帖隐藏的内容需要积分高于 120 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 120 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies




补充内容 (2018-11-10 15:35):
数组没有排序

评分

参与人数 8大米 +20 收起 理由
gladtbx + 3 给你点个赞!
feng + 3 给你点个赞!
hazai + 3 给你点个赞!
tai扯了 + 1 赞一个
xn1990114 + 5 给你点个赞!

查看全部评分


上一篇:高盛 七号superday 求点大米
下一篇:Houzz面经

本帖被以下淘专辑推荐:

全局:
不知道这样对吗,O(n)
  1.     public static long findK(int[] salary, int budget) {
  2.         int n = salary.length;
  3.         int sum = 0;
  4.         Arrays.sort(salary);
  5.         int[] sums = new int[salary.length];
  6.         for (int i = 1; i < n; i++) {
  7.             sum += salary[i - 1];

  8.             int rest = budget - sum;
  9.             long expect = rest / (n - i);
  10.             if (salary[i] > expect) {
  11.                 return expect;
  12.             }
  13.         }

  14.         return 0;
  15.     }
复制代码

补充内容 (2018-11-10 14:34):
如果工资没排序的话 就O(nlogn)
回复

使用道具 举报

推荐
stellari 2018-11-13 11:25:56 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies

评分

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

查看全部评分

回复

使用道具 举报

推荐
wofaint 2018-11-11 05:28:29 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies

评分

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

查看全部评分

回复

使用道具 举报

🔗
foryousee 2018-11-10 11:17:43 | 只看该作者
全局:
应该是binary search就可以了吧,上限是最大值,下限是budge / 人数
回复

使用道具 举报

🔗
 楼主| 宇宙小清新 2018-11-10 11:36:47 | 只看该作者
全局:
foryousee 发表于 2018-11-10 11:17
应该是binary search就可以了吧,上限是最大值,下限是budge / 人数

是的是的
回复

使用道具 举报

🔗
郁小南 2018-11-10 11:43:02 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

全局:
求问楼主 binary search我也不太明白啊 有可能不求和就能算出k么 只找到临界值的话 比budget高了多少可以算出来么 真心求教
回复

使用道具 举报

🔗
foryousee 2018-11-10 13:40:57 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
foryousee 2018-11-10 13:45:08 | 只看该作者
全局:
  1. public int findK(int[] salary, int budget) {
  2.         int lo = budget / salary.length;
  3.         int hi = Integer.MIN_VALUE;
  4.         for(int sa : salary) {
  5.             hi = Math.max(hi, sa);
  6.         }
  7.         while(lo < hi) {
  8.             int mid = (hi - lo) / 2 + lo;
  9.             int cost = 0;
  10.             for(int sa : salary) {
  11.                 if(sa <= mid) {
  12.                     cost += sa;
  13.                 } else {
  14.                     cost += mid;
  15.                 }
  16.             }
  17.             if(cost == budget) {
  18.                 return mid;
  19.             } else if(cost < budget) {
  20.                 lo = mid + 1;
  21.             } else {
  22.                 hi = mid;
  23.             }
  24.         }
  25.         return lo;
  26.     }
复制代码

这个是code,stack怎么在n之内解出来呢?完全没思路- -

评分

参与人数 2大米 +4 收起 理由
Ronald4545 + 3 给你点个赞!
tai扯了 + 1 赞一个

查看全部评分

回复

使用道具 举报

🔗
 楼主| 宇宙小清新 2018-11-10 14:05:20 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

全局:
foryousee 发表于 2018/11/10 13:45:08
[mw_shl_code=java,true]public int findK(int[] salary, int budget) {
        int lo = budget / salar...

所以这个是未排序的nlogn解法
回复

使用道具 举报

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

本版积分规则

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