顺时针旋转一个方阵90度

要求在O(1)的空间复杂度进行

要旋转多少层呢?

1 2

3 4

这个旋转一层

1 2 3

4 5 6

7 8 9

也是一层,因为5不用旋转

1    2   3    4

5    6   7    8

9   10  11 12

13 14  15 16

旋转两层

所以需要旋转的层数是n/2

每层需要旋转4条边,我们按这种方式转:左→顶,底→左,右→底,顶→右,对于每一个要进行旋转的边,先旋转倒数第一个数,比如要将第一列旋转到最顶,那么先把a[n-1][0]转到a[0][0],在把a[n-2][0]转到a[0][1]…………

答案来自网上:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值