10月28,K神开讲数据科学:AB Test/实验设计


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
天天打游戏、照样领工资、还办H1B
这份工作你要不要?
把贵司招聘信息放这里
查看: 1979|回复: 0
收起左侧

[找工就业] indeed oa #17

[复制链接] |试试Instant~ |关注本帖
nycok 发表于 2015-11-21 09:46:03 | 显示全部楼层 |阅读模式

2015(10-12月)-[14]CS硕士+fresh grad 无实习/全职 - 网上海投| 码农类全职@Indeedfresh grad应届毕业生

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

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

x
题目在这个帖子:http://www.1point3acres.com/bbs/thread-145192-1-1.html
几组test case FYI: 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
3
3
7 2
6 2
5 2

2. 1point3acres.com/bbs
3
1 1
2 3
3 1
. 1point 3acres 璁哄潧
2
3
5 1
6 1
3 1

5
10
19 1
18 2
15 2
12 1 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
11 1
8 1
6 1
5 3
3 2. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
2 1

2
3
4 100000000
5 100000000
6 100000000

6
3
1 1
2 1
3 3


我的代码(testcase都通过了):
  1. import java.io.*;
  2. import java.util.*;. Waral 鍗氬鏈夋洿澶氭枃绔,
  3. . more info on 1point3acres.com
  4. public class Solution {
  5.     public static class Pair implements Comparable<Pair> {
  6.         int val;
  7.         int count;
  8.         int maxidx;
  9.         int minidx;
  10.         public int getMaxidx() {
  11.             return maxidx;. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  12.         }
  13.         public void setMaxidx(int maxidx) {
  14.             this.maxidx = maxidx;
  15.         }.鏈枃鍘熷垱鑷1point3acres璁哄潧
  16.         public int getMinidx() {.鏈枃鍘熷垱鑷1point3acres璁哄潧
  17.             return minidx;
  18.         }
  19.         public void setMinidx(int minidx) {
  20.             this.minidx = minidx;
  21.         }. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  22.         public Pair(int val, int count) {
  23.             this.val = val;
  24.             this.count = count;
  25.         }
  26.         public int compareTo(Pair p) {
  27.             return this.val - p.val;. from: 1point3acres.com/bbs
  28.         }
  29.     }
  30.    
  31.     public static void main(String args[] ) throws Exception {
  32.         Scanner in = new Scanner(System.in);
  33.         int N = 0;. Waral 鍗氬鏈夋洿澶氭枃绔,
  34.         int Q = in.nextInt();
  35.         int M = in.nextInt();
  36.         ArrayList<Pair> pl = new ArrayList<Pair>();. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  37.         for (int i = 0; i < M; ++i) {
  38.             int v = in.nextInt();
  39.             int c = in.nextInt();
  40.             N += c;
  41.             Pair p = new Pair(v, c);. 鍥磋鎴戜滑@1point 3 acres
  42.             pl.add(p);
  43.         }.1point3acres缃
  44.         Collections.sort(pl);.鐣欏璁哄潧-涓浜-涓夊垎鍦
  45.         int tmp = 1;
  46.         for (int i = 0; i < pl.size(); ++i) {
  47.             pl.get(i).setMinidx(tmp);
  48.             pl.get(i).setMaxidx(tmp + pl.get(i).count - 1);. 1point3acres.com/bbs
  49.             tmp += pl.get(i).count;
  50.         }. From 1point 3acres bbs
  51.         for (int k = 1; k < Q; ++k) {
  52.             int idx = (int)Math.ceil((double)N*k/(double)Q);
  53.             int low = 0;
  54.             int high = pl.size() - 1;
  55.             while (low <= high) {
  56.                 int mid = (low + high) / 2;
  57.                 int min = pl.get(mid).getMinidx();
  58.                 int max = pl.get(mid).getMaxidx();
  59.                 if (idx >= min && idx <= max) {
  60.                     System.out.println(pl.get(mid).val);
  61.                     break;. Waral 鍗氬鏈夋洿澶氭枃绔,
  62.                 } else if (idx < min) {
  63.                     high = mid - 1;
  64.                 } else {. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  65.                     low = mid + 1;
  66.                 }
  67.             }
  68.         }
  69.     }
  70. }
复制代码

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-10-18 17:24

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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