我有一個列表,可以說[1,2,3,4,5],我必須在索引處旋轉列表。旋轉關於索引的列表
例如:
旋轉2 [1,2,3,4,5]給出[3,4,5,1,2]
通過在線研究,我穿過循環函數來它可以解決丟棄時丟失列表的問題,但是我覺得就理解而言,即使效率低於庫函數,我也會從中獲益更多。工作解決方案,我必須低於:
rotate :: Int -> [a] -> [a]
rotate _ [] = []
rotate n l = take (length l) $ drop n (cycle l)
你可以建議,沒有代碼,實現了該解決方案,所以我可以在這些裂紋的替代方式?因爲我現在沒有想法,所以我已經看到了這樣做的方式!
乾杯
請參閱'splitAt'函數。 – user3237465 2014-11-04 18:34:55