思路,对高度为h的塔,都假定比它高和矮的塔向它靠拢,计算出最终达到共有k座高度为h的塔的最少操作次数,并最终计算所有高度的操作次数中的最小次数即为答案。我使用map来保存每种高度的塔的数量。使用去重的vector保存排好序的塔。同时使用四个vector保存计算所需要的变量。对于每一个高度的塔,算出左边都变为它的高度总共使用的操作次数,使用dp的方法累积计算,右边同理。其次还要计算每一个高度的塔左右两侧不同高度塔的数量。最后只用一次遍历塔的数组,就能用这些状态算出每一种高度最少操作次数。关键:每一种高度的塔的左侧操作次数是左侧都变为前一个高度的塔(towsLeftOp[i-1])再变为只比它高度...