旋转矩阵(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 ...
随机推荐
- React错误: Can't resolve 'react-dom/client'
错误截图 解决方案 当你的react版本低于18时,但仍然报这个错误,可以采用如下方案 意外的发现当我采用上述方案时,我的React路由跳转时,页面不刷新的问题也解决了,很神奇,日后技艺精进再补充.
- Nginx报错:nginx: [error] OpenEvent("Global\ngx_reload_14944") failed (2: The system cannot find the file specified)
nginx.exe -s reload 执行报错 错误原因: Nginx 尚未启动导致,执行 start nginx 命令开启Nginx nginx.exe -s reload 至此问题解决
- Android 架构模式如何选择
作者:vivo 互联网客户端团队-Xu Jie Android架构模式飞速演进,目前已经有MVC.MVP.MVVM.MVI.到底哪一个才是自己业务场景最需要的,不深入理解的话是无法进行选择的.这篇文章 ...
- nginx配置gzip压缩
前言 为提高用户获取响应数据的速度,Nginx服务器可以将响应数据进行gzip压缩,在减小响应数据的大小后再发送给用户端浏览器. 要想启用gzip压缩,需要浏览器支持gzip压缩功能,目前大多数浏览器 ...
- 手写 Vuex4 源码
本文首发于掘金,未经许可禁止转载 Vuex4 是 Vue 的状态管理工具,Vuex 和单纯的全局对象有以下两点不同: Vuex 的状态存储是响应式的 不能直接改变 store 中的状态.改变 stor ...
- uniapp封装接口
1 为什么需要封装接口 封装接口是为了提高开发效率.增加代码复用性和提升可维护性.下面对这些原因进行详细解释: 1.1 开发效率 开发效率:减少代码量,简化调用过程 通过封装接口,可以将一些常见的操作 ...
- 文心一言(ERNIE Bot)初体验
引言 几个月前向百度提交了文心一言的体验申请,这两天收到了可以体验的通知,立马体验了一把.总体来说,文心一言基本上能做到有问必答,但是一些奇葩的问题还是会难住这位初出茅庐的 AI. 分享体验 我先后问 ...
- 前瞻|Java 21 新特性 String Templates(字符串模版)
在日常写Java的时候,对于字符串的操作是非常普遍的,其中最常见的就是对字符串的组织.也因为这个操作非常普遍,所以诞生了很多方案,总下来大概有这么几种: 使用+拼接 使用StringBuffer和Sp ...
- Hadoop核心概念
大数据开发总体架构: Hadoop是大数据开发所使用的一个核心框架.使用Hadoop可以方便的管理分布式集群,将海量数据分布式的存储在集群中,并使用分布式并行程序来处理这些数据. Hadoop由许多子 ...
- [python] 第一个爬虫, 爬妹子写真集图片
效果图 版本以及需要用到的第三方库 python 2.7 bs4 (安装命令: pip install bs4) - 代码 #!/usr/bin/env python #coding:UTF-8 #脚 ...