把矩陣順時針調整90°,要求額外空間複雜度為1。
#include#includeusing namespace std;
//tr為左上角行,tc為左上角列,dr為右下角行,dc為右下角列,從最外圈開始進行操作
void rotateedge(vector> &m, int tr, int tc, int dr, int dc)
}int main()
num.push_back(a);
a.clear();
} int tr = 0, tc = 0, dr = n-1, dc = n-1;
while (tr < dr) //每進行一次外圈交換就把圈往裡推一格,當左上點列座標與右下點列座標相同時,所有都交換完成
for (int i = 0; i < n; i++)
cout << endl;
} return 0;
}
旋轉正方形矩陣
題目 給定乙個整型正方形矩陣matrix,請把該矩陣調整成 順時針旋轉90度的樣子。要求 額外空間複雜度為o 1 思路 採用分圈處理的方式,利用矩陣的左上角座標和右下角座標,例如矩陣 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 最外層 1 4 16 13 替換 2 ...
旋轉正方形矩陣
題目 給定乙個整型正方形矩陣matrix,請把該矩陣調整成 順時針旋轉90度的樣子。要求 額外空間複雜度為o 1 例如 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 結果 13 9 5 1 14 10 6 2 15 11 7 3 16 12 8 4 思路 巨集觀代替微...
旋轉正方形矩陣
將整個旋轉過程轉化為由外向內逐層旋轉 使用四個指標lr,lc,rr,rc lr,lc 標記正方形左上角位置座標 rr,rc 標記正方形右下角位置座標 times rr lr用來計算這一層需要調換的次數 void rotate int arr,int lr,int lc,int rr,int rc 旋...