博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1.6给定一个由N*N矩阵表示的图像,其中每个像素的大小为4字节,编写一份方法,将图像旋转90度。不占用额外内存空间能否做到?...
阅读量:6269 次
发布时间:2019-06-22

本文共 689 字,大约阅读时间需要 2 分钟。

public void rotate(int[][] matrix, int n){    for (int layer = 0; layer < n / 2; ++layer)    {        //layer就是层,从外面一层一层往里。        int first = layer;        int last = n - 1 - layer;        for (int i = first; i < last; ++i)        {            int offset = i - first;            int top = matrix[first][i];            //左到上            matrix[first][i] = matrix[last - offset][first];            //下到左            matrix[last - offset][first] = matrix[last][last - offset];            //右到下            matrix[last][last - offset] = matrix[i][last];            //上到右            matrix[i][last] = top;        }    }}

时间复杂度为O(n平方)。这就是最优解了。

转载于:https://www.cnblogs.com/wuzhenyang/p/7756034.html

你可能感兴趣的文章
RabbitMQ三种Exchange模式(fanout,direct,topic)的性能比较
查看>>
Spring JavaBean属性值的注入方式( 属性注入, 特殊字符注入 <![CDATA[ 带有特殊字符的值 ]]> , 构造器注入 )...
查看>>
【Linux】Linux下统计当前文件夹下的文件个数、目录个数
查看>>
Hibernate_14_数据连接池的使用
查看>>
Codeforces Round #271 (Div. 2) D. Flowers (递推 预处理)
查看>>
jacky自问自答-java并发编程
查看>>
Struts2+JSON数据
查看>>
zTree实现单独选中根节点中第一个节点
查看>>
Cocos2D-x设计模式发掘之中的一个:单例模式
查看>>
很强大的HTML+CSS+JS面试题(附带答案)
查看>>
用树莓派实现RGB LED的颜色控制——C语言版本号
查看>>
VC2012编译CEF3-转
查看>>
java 自己定义异常,记录日志简单说明!留着以后真接复制
查看>>
Android 使用AIDL实现进程间的通信
查看>>
机器学习(Machine Learning)&深度学习(Deep Learning)资料
查看>>
jquery的图片轮播 模板类型
查看>>
C# 获取文件名及扩展名
查看>>
Web安全学习计划
查看>>
输出有序数组的连续序列范围
查看>>
zinnia项目功能分析
查看>>