360實習---給定一個1到N的排列A1到AN,每次可以將排列的第一個數移動到排列的末尾,假設經過若干次移動後得到排列B1到BN,那麼|B1-1|+|B2-2|+...+|BN-N|的最小值是多少

話不多說,直接上圖: 經過兩次移動過後得到排列{1 5 2 4 3},此時|B1-1|+|B2-2|+|B3-3|+|B4-4|+|B5-5|取得最小值。 此題我才用了暴力破解的方法,每次將第一個元素移動到末尾,然後計算值付給一個列表,最後求列表的最小值。 代碼如下: class Qh(object): def sum1(self, a, b): sums = 0
相關文章
相關標籤/搜索