由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 一道题目
相关主题
一道算法题一个小问题,hash map和map的区别是什么?
被recruiter问到的2个基础题一道老题目, 求最快捷解法
A家面积Second round phone interview with eBay
请教个面试题, tree和hashmap的区别谁会做>??????????????????????????????????????
请教背包问题。Bloomberg的电面 希望对你有用兼攒rp
Amazon 居然电面放鸽子报google offer + 教训
子集和问题和0-1背包问题的疑惑how would you create the index for a book
问一下那个红黑树几个Java面试题 (转载)
相关话题的讨论汇总
话题: sum话题: dp话题: int话题: 包裹话题: arr
进入JobHunting版参与讨论
1 (共1页)
b*******s
发帖数: 5216
1
有一堆包裹,数量一定但未知,每个包裹的重量可能一样,也可能不一样。有两部小车
,设计个算法,使得两辆小车里面的包裹重量尽可能相等。
l*****a
发帖数: 14598
2
数组分两半,使差值最小
好像几周前刚讨论过

【在 b*******s 的大作中提到】
: 有一堆包裹,数量一定但未知,每个包裹的重量可能一样,也可能不一样。有两部小车
: ,设计个算法,使得两辆小车里面的包裹重量尽可能相等。

p*****2
发帖数: 21240
3

大牛帖帖你的解法,学习一下。

【在 l*****a 的大作中提到】
: 数组分两半,使差值最小
: 好像几周前刚讨论过

b*****x
发帖数: 48
4
NP-complete的吧
b***m
发帖数: 5987
5

包裹数量未知,咋整?看来是要找一个流水线策略。

【在 l*****a 的大作中提到】
: 数组分两半,使差值最小
: 好像几周前刚讨论过

b***m
发帖数: 5987
6
如果包裹数量未知,但是拿到每个包裹的时候重量可知,貌似只能是哪边轻往哪边扔了
l*****a
发帖数: 14598
7
这题从来没写过,不过似乎只会写成求组合,n!的复杂度,有点夸张

【在 p*****2 的大作中提到】
:
: 大牛帖帖你的解法,学习一下。

l*****a
发帖数: 14598
8
忽略了这个条件,似乎更麻烦

【在 b***m 的大作中提到】
: 如果包裹数量未知,但是拿到每个包裹的时候重量可知,貌似只能是哪边轻往哪边扔了
: ?

p*****2
发帖数: 21240
9

用两个treemap,nlogn

【在 b***m 的大作中提到】
: 如果包裹数量未知,但是拿到每个包裹的时候重量可知,貌似只能是哪边轻往哪边扔了
: ?

m******s
发帖数: 165
10
subset sum

【在 b*******s 的大作中提到】
: 有一堆包裹,数量一定但未知,每个包裹的重量可能一样,也可能不一样。有两部小车
: ,设计个算法,使得两辆小车里面的包裹重量尽可能相等。

相关主题
Amazon 居然电面放鸽子一个小问题,hash map和map的区别是什么?
子集和问题和0-1背包问题的疑惑一道老题目, 求最快捷解法
问一下那个红黑树Second round phone interview with eBay
进入JobHunting版参与讨论
w****x
发帖数: 2483
11

很奇怪二爷为啥还一直在job版逛?

【在 p*****2 的大作中提到】
:
: 用两个treemap,nlogn

l*****a
发帖数: 14598
12
两个heap求median?
ZKSS吧

【在 p*****2 的大作中提到】
:
: 用两个treemap,nlogn

p*****2
发帖数: 21240
13

这样可以每天都膜拜你。

【在 w****x 的大作中提到】
:
: 很奇怪二爷为啥还一直在job版逛?

l*****a
发帖数: 14598
14
二爷为啥不能够找新工作?
版上骑驴找马做题的多了,另外也许是个人业余爱好

【在 w****x 的大作中提到】
:
: 很奇怪二爷为啥还一直在job版逛?

p*****2
发帖数: 21240
15

不是heap,是treemap。
这题你不知道包裹的数量,所以要动态分配,而且需要调整。

【在 l*****a 的大作中提到】
: 两个heap求median?
: ZKSS吧

b***m
发帖数: 5987
16

Median没用吧?

【在 l*****a 的大作中提到】
: 两个heap求median?
: ZKSS吧

l*****a
发帖数: 14598
17
太难了,学习一下好猫的策略,如果面试见到,直接说不会要求换题

【在 p*****2 的大作中提到】
:
: 不是heap,是treemap。
: 这题你不知道包裹的数量,所以要动态分配,而且需要调整。

C***U
发帖数: 2406
18
O(n)近似解不知道行不行啊
这个是cpu的load balance问题吧

【在 b*******s 的大作中提到】
: 有一堆包裹,数量一定但未知,每个包裹的重量可能一样,也可能不一样。有两部小车
: ,设计个算法,使得两辆小车里面的包裹重量尽可能相等。

p*****2
发帖数: 21240
19

其实也不算难,你模拟一下
两个车装包裹,一个新的包裹过来只会发生4种情况。
假设A车和B车
1. 把新包裹放到A车
2. 把新包裹放到B车
3. 把新包裹放到A车,并且把A车的一个重量小一些的包裹放到B车,使得平衡
4. 跟3相反
你把这四种情况都算一遍,哪个结果最平衡就采用那个就可以了。

【在 l*****a 的大作中提到】
: 太难了,学习一下好猫的策略,如果面试见到,直接说不会要求换题
p*****2
发帖数: 21240
20

其实也不是爱好了。主要是我下一年的工作基本也做完了。实在是没事干了。

【在 l*****a 的大作中提到】
: 二爷为啥不能够找新工作?
: 版上骑驴找马做题的多了,另外也许是个人业余爱好

相关主题
谁会做>??????????????????????????????????????how would you create the index for a book
Bloomberg的电面 希望对你有用兼攒rp几个Java面试题 (转载)
报google offer + 教训一本用Java进行算法面试的好书
进入JobHunting版参与讨论
b***m
发帖数: 5987
21

这个需要允许记录所有已装车包裹的重量以及编号,关键是3、4两步怎么策略化。

【在 p*****2 的大作中提到】
:
: 其实也不是爱好了。主要是我下一年的工作基本也做完了。实在是没事干了。

p*****2
发帖数: 21240
22

Treemap,所以最后是nlogn的复杂度

【在 b***m 的大作中提到】
:
: 这个需要允许记录所有已装车包裹的重量以及编号,关键是3、4两步怎么策略化。

b*******s
发帖数: 5216
23
我表达得不清楚
包裹都已经在那里了,而且每个包裹分量都是知道的

【在 p*****2 的大作中提到】
:
: Treemap,所以最后是nlogn的复杂度

p*****2
发帖数: 21240
24

数量一定但未知
这句话什么意思?

【在 b*******s 的大作中提到】
: 我表达得不清楚
: 包裹都已经在那里了,而且每个包裹分量都是知道的

l*****a
发帖数: 14598
25
就是不知道个数?对吗

【在 b*******s 的大作中提到】
: 我表达得不清楚
: 包裹都已经在那里了,而且每个包裹分量都是知道的

p*****e
发帖数: 1611
26
经典dp,tug of war
背包的变种

【在 b*******s 的大作中提到】
: 有一堆包裹,数量一定但未知,每个包裹的重量可能一样,也可能不一样。有两部小车
: ,设计个算法,使得两辆小车里面的包裹重量尽可能相等。

l*****a
发帖数: 14598
27
那明年有head count吗?
很希望天天跟二爷学习算法,接受熏陶

【在 p*****2 的大作中提到】
:
: 数量一定但未知
: 这句话什么意思?

b***m
发帖数: 5987
28

俺treemap用得不好唉。

【在 p*****2 的大作中提到】
:
: 数量一定但未知
: 这句话什么意思?

b*******s
发帖数: 5216
29
这么牛

【在 C***U 的大作中提到】
: O(n)近似解不知道行不行啊
: 这个是cpu的load balance问题吧

b*******s
发帖数: 5216
30
忽略这个吧,我表达错了,数量一定,已知

【在 p*****2 的大作中提到】
:
: 数量一定但未知
: 这句话什么意思?

相关主题
std::unordered_map 和 Java的Hashmap有啥米区别被recruiter问到的2个基础题
新鲜Amazon面经A家面积
一道算法题请教个面试题, tree和hashmap的区别
进入JobHunting版参与讨论
p*****2
发帖数: 21240
31

就是red black tree。你希望替换的是difference/2重量的,这样就平衡了。所以找最
接近difference/2的,这是需要logn的时间,就是binary search.

【在 b***m 的大作中提到】
:
: 俺treemap用得不好唉。

p*****2
发帖数: 21240
32

不知道能不能挨到明年呢。

【在 l*****a 的大作中提到】
: 那明年有head count吗?
: 很希望天天跟二爷学习算法,接受熏陶

b***m
发帖数: 5987
33

晕哦,题改了,不过数量未知也蛮好玩的。

【在 b*******s 的大作中提到】
: 忽略这个吧,我表达错了,数量一定,已知
p*****2
发帖数: 21240
34

那我就是2^n的算法了。上次已经被鄙视过了。DP没想明白。

【在 b*******s 的大作中提到】
: 忽略这个吧,我表达错了,数量一定,已知
b***m
发帖数: 5987
35

RBTree我学得可差了…… :-(

【在 p*****2 的大作中提到】
:
: 那我就是2^n的算法了。上次已经被鄙视过了。DP没想明白。

p*****2
发帖数: 21240
36

能不能贴个思路呢?

【在 p*****e 的大作中提到】
: 经典dp,tug of war
: 背包的变种

l*****a
发帖数: 14598
37
是你还是你们厂?

【在 p*****2 的大作中提到】
:
: 能不能贴个思路呢?

p*****2
发帖数: 21240
38

会用就行了。

【在 b***m 的大作中提到】
:
: RBTree我学得可差了…… :-(

p*****2
发帖数: 21240
39

估计我不会是最先倒下的。

【在 l*****a 的大作中提到】
: 是你还是你们厂?
p*****2
发帖数: 21240
40
跟上次的题差不多。上次是要求数量平分,这个不要求,只是要求重量相近。
相关主题
请教个面试题, tree和hashmap的区别子集和问题和0-1背包问题的疑惑
请教背包问题。问一下那个红黑树
Amazon 居然电面放鸽子一个小问题,hash map和map的区别是什么?
进入JobHunting版参与讨论
b***m
发帖数: 5987
41

关键是都不会用……给稍微讲讲呗。

【在 p*****2 的大作中提到】
: 跟上次的题差不多。上次是要求数量平分,这个不要求,只是要求重量相近。
p*****2
发帖数: 21240
42

就是balanced binary search tree, 保证search的复杂度是logn
各个语言都有库类支持。Java是TreeMap, C#是SortedMap啥的吧。

【在 b***m 的大作中提到】
:
: 关键是都不会用……给稍微讲讲呗。

b*******s
发帖数: 5216
43
上次题目是最近几天的吗,找了下没找到

【在 p*****2 的大作中提到】
: 跟上次的题差不多。上次是要求数量平分,这个不要求,只是要求重量相近。
l*****a
发帖数: 14598
44
3-5周左右
当时没来得及研究

【在 b*******s 的大作中提到】
: 上次题目是最近几天的吗,找了下没找到
p*****e
发帖数: 1611
45
前面有人说了,就是subset sum,01背包问题。
如果要求数量相等,就是二维01背包。

【在 p*****2 的大作中提到】
:
: 就是balanced binary search tree, 保证search的复杂度是logn
: 各个语言都有库类支持。Java是TreeMap, C#是SortedMap啥的吧。

p*****2
发帖数: 21240
46

想了一下,如果重量都是整数,所有包裹的重量为sum的话,复杂度是N*sum。

【在 p*****e 的大作中提到】
: 前面有人说了,就是subset sum,01背包问题。
: 如果要求数量相等,就是二维01背包。

t****a
发帖数: 1212
47
这题可以用布尔线性规划来解决。
Define x \in {0, 1}, represent if the package i is selected to fill car 1.
Define variable $y=∑{x_i*w_i}-\frac{∑{w_i}}{2}$
Constraints: abs(y) < lambda, lambda > 0
Objective: minimize lambda
解法,测试数据以及结果参见http://kangtu.me/~kangtu/study/interview.html#sec-16
嗯,实际上只有5行程序来解这个问题。

【在 b*******s 的大作中提到】
: 有一堆包裹,数量一定但未知,每个包裹的重量可能一样,也可能不一样。有两部小车
: ,设计个算法,使得两辆小车里面的包裹重量尽可能相等。

b*******s
发帖数: 5216
48
明白了,多谢

【在 p*****e 的大作中提到】
: 前面有人说了,就是subset sum,01背包问题。
: 如果要求数量相等,就是二维01背包。

p*****2
发帖数: 21240
49
我写了一个dp的
static int split(int[] arr)
{
int sum=0;
for(int i : arr)
sum+=i;

int n=arr.length;
boolean[] dp=new boolean[sum/2+1];
dp[0]=true;

for(int i=0;i {
for(int j=0;j<=sum/2-arr[i];j++)
if(dp[j])
dp[j+arr[i]]=true;
}

for(int i=sum/2;i>0;i--)
if(dp[i])
return i;
return 0;
}
c********t
发帖数: 5706
50
似乎有bug
测测20,1,4

【在 p*****2 的大作中提到】
: 我写了一个dp的
: static int split(int[] arr)
: {
: int sum=0;
: for(int i : arr)
: sum+=i;
:
: int n=arr.length;
: boolean[] dp=new boolean[sum/2+1];
: dp[0]=true;

相关主题
一道老题目, 求最快捷解法Bloomberg的电面 希望对你有用兼攒rp
Second round phone interview with eBay报google offer + 教训
谁会做>??????????????????????????????????????how would you create the index for a book
进入JobHunting版参与讨论
c********t
发帖数: 5706
51
最后要求是得出两车重量,还是每个包裹的分配?

【在 b*******s 的大作中提到】
: 有一堆包裹,数量一定但未知,每个包裹的重量可能一样,也可能不一样。有两部小车
: ,设计个算法,使得两辆小车里面的包裹重量尽可能相等。

c********t
发帖数: 5706
52
我觉得差一个条件,一下差得很远。
这个是一个 01背包问题 O(n*sum)
上一个无法套用背包问题,更难些,时间复杂度是O(n*n*sum)

【在 p*****2 的大作中提到】
: 跟上次的题差不多。上次是要求数量平分,这个不要求,只是要求重量相近。
l****o
发帖数: 315
53
对总重一半背包。

【在 p*****2 的大作中提到】
: 我写了一个dp的
: static int split(int[] arr)
: {
: int sum=0;
: for(int i : arr)
: sum+=i;
:
: int n=arr.length;
: boolean[] dp=new boolean[sum/2+1];
: dp[0]=true;

p*****2
发帖数: 21240
54

确实有。改了。

【在 c********t 的大作中提到】
: 似乎有bug
: 测测20,1,4

p*****2
发帖数: 21240
55

感觉这两个要求区别不大。

【在 c********t 的大作中提到】
: 最后要求是得出两车重量,还是每个包裹的分配?
p*****2
发帖数: 21240
56

我是说题目的意思差不多。其实解法也是一维到二维。上一个为什么不能套用背包问题


【在 c********t 的大作中提到】
: 我觉得差一个条件,一下差得很远。
: 这个是一个 01背包问题 O(n*sum)
: 上一个无法套用背包问题,更难些,时间复杂度是O(n*n*sum)

g**********y
发帖数: 14569
57
orz, code马上就要freeze,今年工作还差得远的人黯然路过

★ 发自iPhone App: ChineseWeb 7.7

【在 p*****2 的大作中提到】
:
: 我是说题目的意思差不多。其实解法也是一维到二维。上一个为什么不能套用背包问题
: ?

p*****2
发帖数: 21240
58

现在真不容易见到火鸡大牛现身。其实没活干不是啥好事。

【在 g**********y 的大作中提到】
: orz, code马上就要freeze,今年工作还差得远的人黯然路过
:
: ★ 发自iPhone App: ChineseWeb 7.7

c********t
发帖数: 5706
59
背包问题是在限定的weight内,选任意多个,最大化value
上一题,首先只能选n/2个,其次value 要最接近sum/2,当时我试过,无法套用。当然
最后也是用DP解决的。

【在 p*****2 的大作中提到】
:
: 现在真不容易见到火鸡大牛现身。其实没活干不是啥好事。

c********t
发帖数: 5706
60
包裹的分配,要求列出一个车所有的包裹,你的codes就不行了啊

【在 p*****2 的大作中提到】
:
: 现在真不容易见到火鸡大牛现身。其实没活干不是啥好事。

相关主题
几个Java面试题 (转载)新鲜Amazon面经
一本用Java进行算法面试的好书一道算法题
std::unordered_map 和 Java的Hashmap有啥米区别被recruiter问到的2个基础题
进入JobHunting版参与讨论
p*****2
发帖数: 21240
61

应该改动不大吧?纪录一下就可以了吧。

【在 c********t 的大作中提到】
: 包裹的分配,要求列出一个车所有的包裹,你的codes就不行了啊
p*****2
发帖数: 21240
62

要最接近sum/2, 这两题都是这个要求吧? 第一题也不是最大化value吧?

【在 c********t 的大作中提到】
: 背包问题是在限定的weight内,选任意多个,最大化value
: 上一题,首先只能选n/2个,其次value 要最接近sum/2,当时我试过,无法套用。当然
: 最后也是用DP解决的。

1 (共1页)
进入JobHunting版参与讨论
相关主题
几个Java面试题 (转载)请教背包问题。
一本用Java进行算法面试的好书Amazon 居然电面放鸽子
std::unordered_map 和 Java的Hashmap有啥米区别子集和问题和0-1背包问题的疑惑
新鲜Amazon面经问一下那个红黑树
一道算法题一个小问题,hash map和map的区别是什么?
被recruiter问到的2个基础题一道老题目, 求最快捷解法
A家面积Second round phone interview with eBay
请教个面试题, tree和hashmap的区别谁会做>??????????????????????????????????????
相关话题的讨论汇总
话题: sum话题: dp话题: int话题: 包裹话题: arr