a*a
1 楼
如果你和另外两个朋友出去玩,每个人付一部分钱,比如你掏了car rent, 另一个人
付了hotel等等。最后回家了,你们想AA,最后你们每个人付的钱都一样,写个方法能
返回谁应该给谁多少钱
比如三个人分别掏了5,3,1,那么a[2]应该给a[0] 2 刀
如果现在有n个人的话,应该怎么办
写完了之后,大哥问,最需要多少次transaction,一个人给另一个人钱的话算一次,
我心想的是 O(n – 1) 就是 O(n), 大哥说specific answer, 就是 n – 1次
然后Follow up,如果每次transaction特别麻烦,不管是时间还是空间都特别麻烦。如
果不用考虑everything, 不考虑cpu, 不考虑硬盘,我们想让这个次数最少,怎么办。
付了hotel等等。最后回家了,你们想AA,最后你们每个人付的钱都一样,写个方法能
返回谁应该给谁多少钱
比如三个人分别掏了5,3,1,那么a[2]应该给a[0] 2 刀
如果现在有n个人的话,应该怎么办
写完了之后,大哥问,最需要多少次transaction,一个人给另一个人钱的话算一次,
我心想的是 O(n – 1) 就是 O(n), 大哥说specific answer, 就是 n – 1次
然后Follow up,如果每次transaction特别麻烦,不管是时间还是空间都特别麻烦。如
果不用考虑everything, 不考虑cpu, 不考虑硬盘,我们想让这个次数最少,怎么办。