由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 一个startup公司的面试题
相关主题
Bloomberg 面试题请教一道面试题
Set Matrix Zeroes const space solutionsliding window面试题
问个google面试题一道高级面试题.
求最大值的问题,很弱,轻拍,多谢各位大神了!贡献一道面试题
攒RP写面经问道面试题
一道google面试题的讨论leetcode中那道Set Matrix Zeroes怎么做
问个google面试题ASIC 大公司 VS Startup
问个epic的coin change面试题will startup pay onsite interview/relocation, signon bonus?
相关话题的讨论汇总
话题: 面试题话题: startup话题: np话题: 最大话题: 100
进入JobHunting版参与讨论
1 (共1页)
f*****m
发帖数: 75
1
onsite的一个问题 他们直接上pair programming 给你一个ruby的ide 程序写好而且测
试要跑通 他们预先写好了几个测试
比如说有甲乙丙三个人, 甲借给乙100块钱 乙借给丙100块钱 等还钱等时候 程序要求
产生尽量少交易 直接让丙还甲100块
我搞了个greedy的解法 虽然把他们的测试都搞定了 但是我又找到一个特殊情况不是最
优解 高人有啥建议 我感觉这个是NP问题 跟背包挺像都
p*u
发帖数: 136
2
同样只能想到greedy的算法,无法证明正确性
先算出来每个人是应收多收钱,还是应支付多少钱。这样得到2个集合,1个是应收,1
个是应付。
每次在应付找个最大值,给应收最大值还款。重复这个过程,迭代下去。
楼主能说下你的特殊情况是啥?

【在 f*****m 的大作中提到】
: onsite的一个问题 他们直接上pair programming 给你一个ruby的ide 程序写好而且测
: 试要跑通 他们预先写好了几个测试
: 比如说有甲乙丙三个人, 甲借给乙100块钱 乙借给丙100块钱 等还钱等时候 程序要求
: 产生尽量少交易 直接让丙还甲100块
: 我搞了个greedy的解法 虽然把他们的测试都搞定了 但是我又找到一个特殊情况不是最
: 优解 高人有啥建议 我感觉这个是NP问题 跟背包挺像都

l*********8
发帖数: 4642
3
这是subset sum problem (sum to zeros). NP-complete.

【在 f*****m 的大作中提到】
: onsite的一个问题 他们直接上pair programming 给你一个ruby的ide 程序写好而且测
: 试要跑通 他们预先写好了几个测试
: 比如说有甲乙丙三个人, 甲借给乙100块钱 乙借给丙100块钱 等还钱等时候 程序要求
: 产生尽量少交易 直接让丙还甲100块
: 我搞了个greedy的解法 虽然把他们的测试都搞定了 但是我又找到一个特殊情况不是最
: 优解 高人有啥建议 我感觉这个是NP问题 跟背包挺像都

h*******e
发帖数: 1377
4
怎么感觉是dfs寻找距离大于2的路或者环,之后整条路流量减去流量deltaC,如果
是路增加流量为deltaC的距离为一的路。 repeat上面过程直到找不到距离大于2
的路或者环。
e********2
发帖数: 495
5
就是最大流算法,把任意两点见的最大流算出来就行了。

【在 h*******e 的大作中提到】
: 怎么感觉是dfs寻找距离大于2的路或者环,之后整条路流量减去流量deltaC,如果
: 是路增加流量为deltaC的距离为一的路。 repeat上面过程直到找不到距离大于2
: 的路或者环。

e********2
发帖数: 495
6
或者算出每个点的尽出入,尽出入为0的点删去,尽出入不为0的组成一根链表或一棵树
就行了,顶多再配一下对,有几棵树就更好了。

【在 f*****m 的大作中提到】
: onsite的一个问题 他们直接上pair programming 给你一个ruby的ide 程序写好而且测
: 试要跑通 他们预先写好了几个测试
: 比如说有甲乙丙三个人, 甲借给乙100块钱 乙借给丙100块钱 等还钱等时候 程序要求
: 产生尽量少交易 直接让丙还甲100块
: 我搞了个greedy的解法 虽然把他们的测试都搞定了 但是我又找到一个特殊情况不是最
: 优解 高人有啥建议 我感觉这个是NP问题 跟背包挺像都

e********2
发帖数: 495
7
然后就真的转化成最大流问题的变体,有几个源,有几个汇,然后源和汇之间的
channel capacity无限大,要求用尽可能少的channel。

【在 e********2 的大作中提到】
: 或者算出每个点的尽出入,尽出入为0的点删去,尽出入不为0的组成一根链表或一棵树
: 就行了,顶多再配一下对,有几棵树就更好了。

e********2
发帖数: 495
8
最好都要N/2次transaction,所以N次transactions也挺好的。

【在 e********2 的大作中提到】
: 然后就真的转化成最大流问题的变体,有几个源,有几个汇,然后源和汇之间的
: channel capacity无限大,要求用尽可能少的channel。

l*********8
发帖数: 4642
9
时间复杂度多少?

【在 e********2 的大作中提到】
: 然后就真的转化成最大流问题的变体,有几个源,有几个汇,然后源和汇之间的
: channel capacity无限大,要求用尽可能少的channel。

h*******e
发帖数: 1377
10
不是算任意两点最大流吧。。。
A->B->C
5 2
A 和 B 的最大流是 5 A->C最大流是 2 。。。明显A 很倒霉么。。 给了7块钱

【在 e********2 的大作中提到】
: 就是最大流算法,把任意两点见的最大流算出来就行了。
b***e
发帖数: 1419
11
30 100 100
30 80 120
从最小的贪心匹配貌似可以。

1

【在 p*u 的大作中提到】
: 同样只能想到greedy的算法,无法证明正确性
: 先算出来每个人是应收多收钱,还是应支付多少钱。这样得到2个集合,1个是应收,1
: 个是应付。
: 每次在应付找个最大值,给应收最大值还款。重复这个过程,迭代下去。
: 楼主能说下你的特殊情况是啥?

1 (共1页)
进入JobHunting版参与讨论
相关主题
will startup pay onsite interview/relocation, signon bonus?攒RP写面经
~~~三番startup 给的很低啊?!一道google面试题的讨论
Startup tech jobs go begging -- how to get yours from infoworld问个google面试题
弯曲startup分布图问个epic的coin change面试题
Bloomberg 面试题请教一道面试题
Set Matrix Zeroes const space solutionsliding window面试题
问个google面试题一道高级面试题.
求最大值的问题,很弱,轻拍,多谢各位大神了!贡献一道面试题
相关话题的讨论汇总
话题: 面试题话题: startup话题: np话题: 最大话题: 100