算法趣題

將數組元素循環右移k位,且只有一個元素大小的附加空間(不妨設爲t)。 樸素想法:藉助t容易實現循環右移一位。然後執行k次,複雜度O(n*k) 我們發現,這個題可以把數據分解成%k的同餘類,然後把同餘類看成一個環,置換環就ok了。 上面都是通過模擬的角度思考問題,但仔細一想,進而會發現把原序列分割成兩段n-k與k,分別翻轉在整體反轉,其實就是答案了。 上面只是簡單的剖析,下面來嘗試實現一下。 樸素暴
相關文章
相關標籤/搜索