經典演算法面試題目 矩陣旋轉90度(1 6)

2021-09-22 20:41:42 字數 1342 閱讀 6483

given an image represented by an nxn matrix, where each pixel in the image is 4 bytes, write a method to rotate the image by 90 degrees. can you do this in place?

一張影象表示成nxn的矩陣,影象中每個畫素是4個位元組,寫乙個函式把影象旋轉90度。 你能原地進行操作嗎?(即不開闢額外的儲存空間)

我們假設要將影象逆時針旋轉90度,順時針是乙個道理。如果原圖如下所示:

1 2 3 4 

5 6 7 8

9 10 11 12

13 14 15 16

那麼逆時針旋轉90度後的圖應該是:

4 8 12 16 

3 7 11 15

2 6 10 14

1 5 9 13

我們要如何原地進行操作以達到上面的效果呢?可以分兩步走。 第一步交換主對角線兩側的對稱元素,第二步交換第i行和第n-1-i行,即得到結果。 看圖示:(如果是順時針, 第一步交換/對角線兩側的對稱元素,第二步交換第i行和第n-1-i行,即得到結果。)

原圖:           第一步操作後:   第二步操作後:

1 2 3 4 1 5 9 13 4 8 12 16

5 6 7 8 2 6 10 14 3 7 11 15

9 10 11 12 3 7 11 15 2 6 10 14

13 14 15 16 4 8 12 16 1 5 9 13

#include 

using

namespace

std;

void swap(int *a, int *b)

//這2個交換函式,選乙個就行了,我只是為了演示它們實現的結果是一樣

void swap2(int &a,int &b)

//順時針

void clockwise(int a[4],int n)

//逆時針

python經典面試題目

print set a set b a,b中相同的元素 print set a set b a,b中不同元素list 1 a b c b a list 1 list set list 1 print list 1 alist defsort by age alist return sorted al...

經典C 面試題目

1 在c 中,string str null 與 string str 請盡量使用文字或圖象說明其中的區別。回答要點 說明詳細的空間分配。10分 答 string str null 是不給他分配記憶體空間,而string str 給它分配長度為空字串的記憶體空間.請詳述在dotnet中類 class...

經典演算法面試題

1 說是有乙個文字檔案,大約有一萬行,每行乙個詞,要求統計出其中最頻繁出現的前十個詞。先用雜湊,統計每個詞出現的次數,然後用在n個數中找出前k大個數的方法找出出現次數最多的前10個詞。2 如題1,但是這次檔案特別大,沒有辦法一次讀入記憶體。1 直接排序,寫檔案時,同時寫入字串及其出現次數。2 可以用...