旋转矩阵(leetcode4.7每日打卡)
[
[1,2,3],
[4,5,6],
[7,8,9]
],
[
[7,4,1],
[8,5,2],
[9,6,3]
]
示例 2:
[
[ 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]
]
1 void rotate(int** matrix, int matrixSize, int* matrixColSize)
2 {
3 int matrix_new[matrixSize][matrixColSize[0]];
4
5 for(int i = 0; i < matrixSize; i++)
6 {
7 for(int j = 0; j < matrixColSize[i]; j++)
8 {
9 matrix_new[j][matrixSize - i - 1] = matrix[i][j];
10 }
11 }
12
13 for(int i = 0; i < matrixSize; i++)
14 {
15 for(int j = 0; j < matrixColSize[i]; j++)
16 {
17 matrix[i][j] = matrix_new[i][j];
18 }
19 }
20 }
原地旋转:
例如:1 2 3
4 5 6
7 8 9
先转置:1 4 7
2 5 8
3 6 9
然后按照列以中心为轴两边值交换:
7 4 1
8 5 2
9 6 3
这里学到了矩阵的原地转置:
1 for (int i = 0; i < 2; i++)
2 {
3 for (int j = 1; j < 3; j++)
4 {
5 int temp = a[i][j];
6 a[i][j] = a[j][i];
7 a[j][i] = temp;
8
9 }
10 }
题目代码:
1 void rotate(int** matrix, int matrixSize, int* matrixColSize)
2 {
3 for(int i = 0; i < matrixSize-1; i++)
4 {
5 for(int j = i+1; j < matrixSize; j++)
6 {
7 int temp = matrix[i][j];
8 matrix[i][j] = matrix[j][i];
9 matrix[j][i] = temp;
10 }
11 }
12
13 int mid = matrixSize/2;
14 for(int i = 0; i < matrixSize; i++)
15 {
16 for(int j = 0; j < mid; j++)
17 {
18 int temp = matrix[i][j];
19 matrix[i][j] = matrix[i][matrixSize-1-j];
20 matrix[i][matrixSize-1-j] = temp;
21 }
22 }
23 }
旋转矩阵(leetcode4.7每日打卡)的更多相关文章
- P1664 每日打卡心情好
题目背景 在洛谷中,打卡不只是一个简单的鼠标点击动作,通过每天在洛谷打卡,可以清晰地记录下自己在洛谷学习的足迹.通过每天打卡,来不断地暗示自己:我又在洛谷学习了一天,进而帮助自己培养恒心.耐心.细心. ...
- (leetcode每日打卡)秋叶收藏集【动态规划】
LCP 19.秋叶收藏集 题目链接 算法 动态规划 时间复杂度O(n) 1.题目要求最终形成[红.黄.红]三部分,每部分数量可以不相等,问最终调整操作数量最小是多少.这道题一开始考虑暴力去做,枚举两个 ...
- jquery制作论坛或社交网站的每天打卡签到特效
效果:http://hovertree.com/texiao/jquery/50/ 现在许多社区,购物等网站都设置签到功能,打开可以收获经验.虚拟币等,提高用户粘性,增加浏览量,是一个不错的功能.本文 ...
- Good Time------打卡让生活更美好
Section 1团队介绍 Part 1 队员信息 姓名 学号 职务 王怡镔 2016012045 组长 于鑫宇 2016012029 组员 张济吨 2016012072 组员 黄鹤 20160120 ...
- 个人作业——week2
一.发现的功能性bug 1.这个手机客户端的拍照翻译功能虽然能够正确的识别图像,但是不能有效的识别出图像中的文字,给出的提示总是图像识别成功,没有识别到文字,导致这个功能几乎无法使用. 因为刚下载这个 ...
- NOIP2016呵呵记
经过了一年的想象和臆测,经历了学长们的几次考试,通过老师的言语莫名感受过了所谓oi式压力之后,自己的考试也终于到来了. 考前的生活也没有想象中的那么充实,无非跟着神犇刷刷题,讨论算法,学点新技巧,然后 ...
- PHP连续签到
require "./global.php"; $act = isset($_GET['act']) ? $_GET['act'] : "error"; // ...
- 凝结时光:ImageMagick 制作 gif
从去年12.12开始,工作日都会从单位的落地窗向外拍一张照片,有点每日打卡的意思.weekday 是一天不落的,weekend 不是每次都到单位,落了几次. 想法来自上学的时候,有同学在同一个地方,拍 ...
- 路漫漫其修远兮,吾将上下而求索--2019OKR规划
一.前言 加入博客园半年多,认识了很多优秀上进,乐于分享的人,我的男神:EdisonZhou,还有张队长,叶伟民,腾飞,梁桐铭 等等. 半年来写了26篇随笔,我的第一篇随笔 C# DynamicObj ...
- 展示博客---Alpha版本展示
Alpha版本展示 1. 团队成员的简介和个人博客地址,团队的源码仓库地址. 成员 简介 个人博客地址 祁泽文 被动态统计图搞扒下的我 http://www.cnblogs.com/jiaowoxia ...
随机推荐
- 二 APPIUM Android自动化 环境搭建(转)
1.安装JAVA运行环境 2.安装Android开发环境 3.安装nodejs 下载地址:https://nodejs.org/en/ 下载完成之后双击安装. 4.安装APPIUM,Appium服务端 ...
- [db2]缓冲池管理
简介 缓冲池指的是从硬盘读取表和索引数据时,数据库管理器分配的用于高速缓存这些表和索引数据的内存区域.每个数据库都必须具有至少一个缓冲池,创建数据库时会自动创建一个名为IBMDEFAULTBP的缓冲池 ...
- 【pandas小技巧】--统计值作为新列
这次介绍的小技巧不是统计,而是把统计结果作为新列和原来的数据放在一起.pandas的各种统计功能之前已经介绍了不少,但是每次都是统计结果归统计结果,原始数据归原始数据,没有把它们合并在一个数据集中来观 ...
- Microsoft Build 2021大会开始后,Develop Blog一系列更新
.NET BLOG 发布.NET 6预览版4 https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-4/ 发布.NET MAUI ...
- Vue-基本语法及事件绑定
一.基本语法 v-bind绑定: 双大括号不能在 HTML attributes 中使用.想要响应式地绑定一个 attribute,应该使用 v-bind 指令 代码展示: <div id=&q ...
- Couchdb-权限绕过--命令执行--(CVE-2017-12635)&&(CVE-2017-12636)--H2database命令执行--(CVE-2022-23221)
Couchdb-权限绕过--命令执行--(CVE-2017-12635)&&(CVE-2017-12636)--H2database命令执行--(CVE-2022-23221) 环境概 ...
- Centos7安装yarn
Centos7安装yarn 设置Yarn仓库 curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc ...
- 关于初次new springboot项目
如果是新手初学,然后做springboot项目报各种错,改来改去最终都无法出现successful字样. 请先检查,maven环境是否配好. maven环境决定你下载依赖的速度,以及能否下载成功. m ...
- 【c#版本Openfeign】Net8 自带OpenFeign实现远程接口调用
引言 相信巨硬,我们便一直硬.Net版本到现在已经出了7了,8也已经在预览版了,相信在一个半月就会正式发布,其中也有很多拭目以待的新功能了,不仅仅有Apm和Tap的结合,TaskToAscynResu ...
- Redis和Memcache区别,优缺点对比(转)
转自 https://www.cnblogs.com/JavaBlackHole/p/7726195.html 1. Redis和Memcache都是将数据存放在内存中,都是内存数据库.不过memca ...