Lintcode161 Rotate Image solution 題解

【題目描述】

You are given an?n?x?n?2D matrix representing an image.

Rotate the image by 90 degrees (clockwise).

給定一個N×N的二維矩陣表示圖像,90度順時針旋轉圖像。

【題目鏈接】

www.lintcode.com/en/problem/rotate-image/

【題目解析】

在計算機圖像處理里,旋轉圖片是很常見的,由于圖片的本質是二維數組,所以也就變成了對數組的操作處理,翻轉的本質就是某個位置上數移動到另一個位置上,比如用一個簡單的例子來分析:

1 ?2 ?3       7 ?4 ?1

4 ?5 ?6  -->   8 ?5 ?2

7 ?8 ?9?      9 ?6 ?3

對于90度的翻轉有很多方法,一步或多步都可以解,我們先來看一種直接的方法,對于當前位置,計算旋轉后的新位置,然后再計算下一個新位置,第四個位置又變成當前位置了,所以這個方法每次循環換四個數字,如下所示:

1 ?2 ?3 ? ? ? ? ? ? ? ?7 ?2 ?1 ? ? ? ? ? ? ? 7 ?4 ?1

4 ?5 ?6 ? ? ?--> ? ? ?4 ?5 ?6   --> ?8 ?5 ?2

7 ?8 ?9 ? ? ? ? ? ? ? ? 9 ?8 ?3 ? ? ? ? ? ? ?9 ?6 ?3

【參考答案】

www.jiuzhang.com/solutions/rotate-image/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容