Leetcode典型题解答和分析、归纳和汇总——T48(旋转图像)
题目描述:
给定一个n*n的二维矩阵表示一个图像。将图像顺时针旋转90度。
题目解析:
本题由于不允许采用额外的数组来进行辅助计算,于是,我们可以采用特殊解法:整个矩阵旋转90度,即意味着采用洋葱旋转法,每一层中的每一个数都进行相应的旋转即可。
具体代码如下:
class Solution {
public:void rotate(vector<vector<int>>& matrix) {int len = matrix.size(); //求出矩阵的行数for(int i=0;i<len/2;i++) //表示外层循环{for(int j=i,k=i;j<len-1-i;j++) //表示中层循环{int pre=matrix[j][k]; //记录下当前的数字,用pre进行保存for(int cnt=1;cnt<=4;cnt++) //进行四次旋转{int tmp=j; //设置中间交换变量tmpj=k; //横坐标=纵坐标k=len-1-tmp; //纵坐标等于总长度-1-初始横坐标swap(pre,matrix[j][k]); //进行位置交换}}} }
};
Leetcode典型题解答和分析、归纳和汇总——T48(旋转图像)相关推荐
- Leetcode典型题解答和分析、归纳和汇总——T51(N皇后)
题目描述: n皇后问题研究的是如何将n个皇后放置在n*n的棋盘上,并且使皇后彼此之间不能相互攻击. 给定一个整数n,返回所有不同的N皇后问题的解决方案. 题目解析: 本题采用典型的回溯法来进行求解.本 ...
- Leetcode典型题解答和分析、归纳和汇总——T101(对称二叉树)
问题描述: 给定一个二叉树,检查它是否为镜像对称. 例如:二叉树[1,2,2,3,4,4,3]是镜像对称的. 但是[1,2,2,null,3,null,3]则不是镜像对称的. 说明:如果可以运用递归和 ...
- Leetcode典型题解答和分析、归纳和汇总——T46(全排列)
题目描述: 给定一个没有重复数字的序列,返回其所有可能的全排列 题目解析: 本题是回溯算法的典型应用. 具体代码如下: class Solution{public:vector<vector&l ...
- Leetcode典型题解答和分析、归纳和汇总——T155(最小栈)
问题描述: 设计一个支持push,top,pop操作,并能在常数时间内检索到最小元素的栈. 问题分析: 本题其实就是考察栈的基本操作:如入栈s.push(x),出栈s.pop(),查看栈顶元素值s.t ...
- Leetcode典型题解答和分析、归纳和汇总——T160(相交链表)
问题描述: 编写一个程序,找到两个单链表相交的起始节点. 问题分析: 本题我们采用双指针的方式来进行求解.即A链表一个指针,B链表一个指针,当两者相遇时,表示找到相交节点.一般而言两者链表程度是不一致 ...
- Leetcode典型题解答和分析、归纳和汇总——T208(实现Trie前缀树)
问题描述: 实现一个Trie前缀树,包含insert.search和startsWith这三个操作. 问题分析: 这类的题目与堆栈的最小元素查找类似,将所有功能进行集中处理. 首先我们需要明确一下tr ...
- Leetcode典型题解答和分析、归纳和汇总——T110(平衡二叉树)
问题描述: 给定一个二叉树,判断它是否为平衡二叉树. 问题分析: 对当前节点分别求左右子树的深度,判断左右子树的高度差是否小于等于1. /*** Definition for a binary tre ...
- Leetcode典型题解答和分析、归纳和汇总——T35(搜索插入位置)
题目描述: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回索引.如果目标值不在数组中,返回它将会被按顺序插入的位置. 题目解析: 该题思路比较简单,采用一次循环遍历即可求出解. class ...
- Leetcode典型题解答和分析、归纳和汇总——T89(格雷编码)
题目描述: 格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异. 给定一个代表编码总位数的非负整数n,打印其分类编码序列.格雷编码序列必须以0开头. 本题我们采用镜像法 0-& ...
最新文章
- activity的四种加载模式
- 开发编程值得收藏的经典书籍 免费下载
- 超级的全中文语音数据集合
- Java 自定义线程池
- jetty java 实例_Maven+Jetty+Servlet 简单示例
- 测试并发应用(三)监控Executor框架
- 【kafka】kafka kerberos KeeperErrorCode = InvalidACL for /config/topics
- WSGI Application/Framework
- 面向对象:MATLAB的自定义类 [MATLAB]
- msysgit+apache安装说明 - gitweb服务器部分
- eclipse的安装与环境配置
- 烽火mysql数据库安装_sql/mysql3.md · zack烽火/knowledge - Gitee.com
- matlab 三角函数 积化和差,三角函数积化和差与和差化积公式
- Python中*args、**kws 理解与使用(可变参数以及关键字参数)
- Usage of API documented as @since 1.9+ less... (Ctrl+F1) Inspection info: This inspection finds all
- 年轻人,你活着不是为了观察K线做布朗运动 ——从“全要素参与分配理论”谈股票市场的赚钱陷阱
- 【人工智能】CB Insights:2018年全球人工智能发展趋势报告
- 逻辑综合重点解析(Design Compiler篇)
- 用python代码(turtle库)绘制好看的效果图
- 平面设计中的网格系统pdf_【200421】平面设计必看书籍超越平凡的设计平面设计中的网格系统等|电子书资源免费分享...