欣赏任何建议。搜索互联网,但没有运气 假设原始矩阵具有足够大的尺寸以便在适当位置旋转
{{1,2},{3,4},{5,6}}到{{5,3,1},{6,4,2}}
或
1 2
3 4
5 6
顺时针旋转到
5 3 1
6 4 2
感谢。
答案 0 :(得分:1)
一种简单的方法是将矩阵左右或上下翻转(可以通过单个列或行的in-place reversing轻松完成)并进行就地矩阵换位,请参阅mcdowella的link。例如,参见Numpy的source code函数的rot90,它完成了这两个步骤(swapaxis基本上是一个转置)。
你可以一步完成所有事情,但这可能需要以某种螺旋模式迭代矩阵。这将花费相当多的努力来实现正确的,并且,考虑到交换和转置的高效算法(例如,针对高速缓存访问进行了优化)的可用性,这甚至可能更慢。