这章里面的“抽肥补瘦”或者说“劫富济贫”算法过程如下:
最开始负责人提出的分配方式像这样的列表:
[2,3,5,45,45]
我们要确保每个人至少有5k奖金,那么就把5看成基准,看每一项跟它差多少。
[-3,-2,0,40,40]
然后,开始“劫富济贫”,最穷的是-3,最富的是第一个40,从40减去一补给-3,得到:
[-2,-2,0,39,40]
然后,最穷的是第一个-2,最富的是40,40减去一补给-2,得到:
[-1,-2,0,39,39]
每次找最穷的和最富的,最富的补给最穷的1个点。
[-1,-1,0,38,39]
[0,-1,0,38,38]
[0,0,0,37,38]
此时,每一项都达到了基准,那么我们把每一项加上5,就得到最终结果:
[5,5,5,42,43]
哈哈^_^,怎么样,过程也不是很复杂吧~~
大家多跟小猿交流哈!