博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode OJ:Rotate Image(旋转图片)
阅读量:6254 次
发布时间:2019-06-22

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

You are given an n x n 2D matrix representing an image.

Rotate the image by 90 degrees (clockwise).

Follow up:

Could you do this in-place?
题目要就地算法,那么可以通过折叠矩阵上下以及斜对角线折叠来实现,代码如下:

1 class Solution { 2 public: 3     void rotate(vector
>& matrix) { 4 int sz = matrix.size(); 5 if(!sz) return; 6 for(int i = 0; i < sz; ++i){ 7 for(int begin = 0, end = sz - 1; begin < end; ++begin, --end){ 8 swap(matrix[begin][i], matrix[end][i]); 9 }10 }11 for(int i = 0; i < sz; ++i){12 for(int j = i; j < sz; ++j){13 swap(matrix[i][j], matrix[j][i]);14 }15 }16 }17 };

同样的通过乘以一个矩阵的方法当然也可以实现,不过那不是in-place算法。

 

转载于:https://www.cnblogs.com/-wang-cheng/p/4921754.html

你可能感兴趣的文章
ISA Server 2006简介
查看>>
TCP-IP协议详解(13) DNS协议
查看>>
httpd网站服务
查看>>
mysql启动报错处理
查看>>
4 ways to pass parameter from JSF page to backi...
查看>>
Delphi中获取Unix时间戳及注意事项
查看>>
rvm使用
查看>>
iOS 开发一些小技巧
查看>>
8月5日起OCP电子证书正式推行
查看>>
【原创】DataNode源码演绎 第一回
查看>>
垃圾回收概念与算法
查看>>
JDBC读取MySQL的BLOB类型
查看>>
转帖:Lotus Notes安装和使用的常见问题
查看>>
IconFont 图标svg
查看>>
exchange 2013 邮箱服务器主要服务功能概览
查看>>
[技巧] 双系统WIN7启动菜单英文变中文方法
查看>>
观察网络性能时如何选择工具
查看>>
使用spring-loaded实现应用热部署
查看>>
CentOS下zabbix监控mysql5.6版本主从
查看>>
Docker系列教程08-Dockerfile实战
查看>>