[八我司] 介绍一下Uber tech stack和各个大组的情况

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
把贵司招聘信息放这里
查看: 1498|回复: 0
收起左侧

indeed OA #17

[复制链接] |试试Instant~ |关注本帖
butterwang 发表于 2015-12-22 11:06:02 | 显示全部楼层 |阅读模式

2015(10-12月) 码农类General 博士 全职@Indeed - 网上海投 - 在线笔试  | Other | fresh grad应届毕业生

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

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
题目和版上看到的都一样。calculating quantiles.
以前有人贴出题目的截图了,这里就不说了。. 牛人云集,一亩三分地

贴出我的代码,7个test case 全过了。
  1. import java.io.*;
  2. import java.util.*;

  3. public class Solution {
  4.     public static void main(String[] args) {
  5.         Scanner scanner = new Scanner(System.in);
  6.         long Q = scanner.nextInt();
  7.         int M = scanner.nextInt();

  8.         long N = 0;. 一亩-三分-地,独家发布
  9.         Pair[] pairs = new Pair[M];

  10.         for (int i = 0; i < M; i++) {
  11.             int v = scanner.nextInt();. from: 1point3acres
  12.             long c = (long) scanner.nextInt();
  13.             
  14.             N += c;

  15.             Pair pair = new Pair(v, c);

  16.             pairs[i] = pair;
  17.         }. 牛人云集,一亩三分地

  18.         // sort the array according to the vi. Waral 博客有更多文章,
  19.         Arrays.sort(pairs, new MyPairComparator()); 来源一亩.三分地论坛.

  20.         // Calculate the accmulated count
  21.         for (int i = 1; i < M; i++) {
  22.             pairs[i].count += pairs[i - 1].count;
  23.         }. 牛人云集,一亩三分地
  24. .本文原创自1point3acres论坛
  25.         // Find all the quantiles
  26.         List<Integer> result = findQuantiles(N, Q, pairs);

  27.         for (Integer num : result) {
  28.             System.out.println(num);. 牛人云集,一亩三分地
  29.         }. 一亩-三分-地,独家发布
  30. . 围观我们@1point 3 acres
  31.         scanner.close();
  32.     }

  33.     public static List<Integer> findQuantiles(long N, long Q, Pair[] pairs) {. visit 1point3acres for more.
  34.         List<Integer> result = new ArrayList<>();

  35.         if (N <= 0 || Q <= 1 || pairs == null || pairs.length == 0) {
  36.             return result;
  37.         }

  38.         // Find the i-th quantile. 1point3acres
  39.         for (long i = 1; i < Q; i++) {
  40.             long index = (long) Math.ceil((double) N * i / Q);

  41.             int quantile = binarySearch(pairs, index);
  42.             result.add(quantile);
  43.         }

  44.         return result;. Waral 博客有更多文章,
  45.     }
  46. . visit 1point3acres for more.
  47.     // If it can find the target, return the value with the index of the target
  48.     // Otherwise, return the next value with the index greter than the target. From 1point 3acres bbs
  49.     private static int binarySearch(Pair[] pairs, long target) {.1point3acres网
  50.         int lo = 0;
  51.         int hi = pairs.length - 1;

  52.         while (lo + 1 < hi) {
  53.             int mid = lo + (hi - lo) / 2;. from: 1point3acres
  54.             if (pairs[mid].count == target) {
  55.                 return pairs[mid].value;
  56.             } else if (pairs[mid].count > target) {
  57.                 hi = mid;
  58.             } else {
  59.                 lo = mid;
  60.             }. 留学申请论坛-一亩三分地
  61.         }
  62. . more info on 1point3acres
  63.         if (pairs[lo].count >= target) {. from: 1point3acres
  64.             return pairs[lo].value;
  65.         } else {
  66.             return pairs[hi].value;. 围观我们@1point 3 acres
  67.         }
  68.     }

  69.     static class Pair {
  70.         int value;
  71.         long count;

  72.         public Pair(int value, long count) {
  73.             this.value = value;
  74.             this.count = count;. 1point 3acres 论坛
  75.         }
  76.     }

  77.     static class MyPairComparator implements Comparator<Pair> {
  78.         @Override
  79.         public int compare(Pair a, Pair b) {
  80.             return a.value - b.value;. Waral 博客有更多文章,
  81.         }. From 1point 3acres bbs
  82.     } .留学论坛-一亩-三分地
  83. }
复制代码

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-5-25 09:45

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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