給你一幅由 n × n 矩陣表示的影象,其中每個畫素的大小為 4 位元組。請你設計一種演算法,將影象旋轉 90 度。
不占用額外記憶體空間能否做到?
示例 1:
給定 matrix =
[ [1,2,3],
[4,5,6],
[7,8,9]
],原地旋轉輸入矩陣,使其變為:
[ [7,4,1],
[8,5,2],
[9,6,3]
]
示例 2:
給定 matrix =
[ [ 5, 1, 9,11],
[ 2, 4, 8,10],
[13, 3, 6, 7],
[15,14,12,16]
], 原地旋轉輸入矩陣,使其變為:
[ [15,13, 2, 5],
[14, 3, 4, 1],
[12, 6, 8, 9],
[16, 7,10,11]
]
本題同【leetcode】48. 旋轉影象
外圈迴圈次數:n/2
每圈迴圈旋轉四個矩形
時間複雜度:o(n^2)
空間複雜度:o(1)
class solution }}
};
時間複雜度:o(n^2)
空間複雜度:o(1)
class solution
}for (int i = 0; i < n; ++i)
}
}};
程式設計師面試金典 面試題 01 07 旋轉矩陣
給定一幅由n n矩陣表示的影象,其中每個畫素的大小為4位元組,編寫一種方法,將影象旋轉90度。不占用額外記憶體空間能否做到?示例 1 給定 matrix 1,2,3 4,5,6 7,8,9 原地旋轉輸入矩陣,使其變為 7,4,1 8,5,2 9,6,3 示例 2 給定 matrix 5,1,9,11...
程式設計師面試金典 面試題 08 09 括號
括號。設計一種演算法,列印n對括號的所有合法的 例如,開閉一一對應 組合。說明 解集不能包含重複的子集。例如,給出 n 3,生成結果為 dfs搜尋,如果當前左括號用超了,右括號用超了,或者右括號的數量大於左括號的數量直接返回。而如果左右括號剛好用盡,代表生成乙個結果,記錄下來。然後就是遞迴,新增左括...
程式設計師面試金典 面試題 08 13 堆箱子
堆箱子。給你一堆n個箱子,箱子寬 wi 高hi 深di。箱子不能翻轉,將箱子堆起來時,下面箱子的寬度 高度和深度必須大於上面的箱子。實現一種方法,搭出最高的一堆箱子。箱堆的高度為每個箱子高度的總和。輸入使用陣列 wi,di,hi 表示每個箱子。示例1 輸入 box 1,1,1 2,2,2 3,3,3...