首页 > 其他分享 >48.旋转图像

48.旋转图像

时间:2024-12-20 11:43:16浏览次数:4  
标签:matrix 48 int 一圈 旋转 图像

  1. 题目链接

  2. 解题思路:要有宏观的思路,策略是一圈一圈的转换。然后每一圈,又分成一个一个的小组进行转换,见下图

  3. 代码

    class Solution {
    public:
        void rotate(vector<vector<int>>& matrix) {
            int n = matrix.size();
            for (int i = 0; i <= (n - 1) / 2; ++i) {    // 一圈一圈处理
                int begin_a = i;     // 该圈的左上角点的行
                int begin_b = i;     // 该圈的左上角点的列
                int end_a = n - 1 - i;    // 该圈的右下角点的行
                int end_b = n - 1 - i;    // 该圈的右下角点的列
                for (int g = 0; g < end_a - begin_a; ++g) {   // 这么多组
                    // 第一个点
                    int one_a = begin_a;
                    int one_b = begin_b + g;
                    // 第二个点
                    int two_a = begin_a + g;
                    int two_b = end_b;
                    // 第三个点
                    int three_a = end_a;
                    int three_b = end_a - g;
                    // 第四个点
                    int four_a = end_a - g;
                    int four_b = begin_b;
    
                    // 第一个点给到第二个点
                    int tmp1 = matrix[two_a][two_b];
                    matrix[two_a][two_b] = matrix[one_a][one_b];
    
                    // 第二个点给到第三个点
                    int tmp2 = matrix[three_a][three_b];
                    matrix[three_a][three_b] = tmp1;
    
                    // 第三个点给到第四个点
                    tmp1 = matrix[four_a][four_b];
                    matrix[four_a][four_b] = tmp2;
    
                    // 第四个点给到第一个点
                    matrix[one_a][one_b] = tmp1;
                }
            }
        }
    };
    

标签:matrix,48,int,一圈,旋转,图像
From: https://www.cnblogs.com/ouyangxx/p/18618986

相关文章

  • X-AnyLabeling:开源的 AI 图像标注工具,支持多种标注样式,适于目标检测、图像分割等不同
    ❤️如果你也关注AI的发展现状,且对AI应用开发非常感兴趣,我会每日跟你分享最新的AI资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!......
  • 【Unity 计算机视觉插件】OpenCV for Unity 轻松实现图像处理、目标检测、物体识别、A
    OpenCVforUnity是一款功能强大的Unity插件,将著名的计算机视觉库OpenCV无缝集成到Unity中,为开发者提供丰富的计算机视觉功能支持。通过该插件,开发者可以轻松实现图像处理、目标检测、物体识别、AR增强现实等复杂功能,适用于多种平台,包括Windows、macOS、Android、iOS等。功......
  • 题解:P10483 小猫爬山
    思路第一眼我以为是个背包,但由于是分组,所以有多个缆车,明显不能用背包。我做这题是因为老师要求,那是我们在学深搜减枝,所以我就开始写深搜。这一题实际上是先选一直最重的猫,然后搞个\(sum\)数组,每搞一个新缆车的就下一个下标继续放,如果能放就放,当然也要搞一个能放但不放的。减枝......
  • 基于vgg16和efficientnet卷积神经网络的天气识别系统(pytorch框架) 图像识别与分类 前
    基于vgg16和efficientnet卷积神经网络的天气识别系统(pytorch框架)前端界面:flask+python,UI界面:pyqt5+python这是一个完整项目,包括代码,数据集,模型训练记录,前端界面,ui界面,各种指标图:包括准确率,精确率,召回率,F1值,损失曲线,准确率曲线等卷积模型采用vgg16模型或efficien......
  • 记录一下:小华半导体HC32F448建立MDK工程
    1.先到官网上下载文件a>下载驱动库:HC32F448_DDL_Rev1.1.0.zip驱动库中是包括了例程的。b>下载样例:HC32F448_Template_Rev1.0.1.zip可以直接复制官方的样例,就不用自己创建工程了。c>下载芯片支持包:HC32F448_IDE_Rev1.0.1.zip下载后双击安装即可。否则KEIL中找到不芯片。2.......
  • 图像去雾常见数据集
    近年来,随着深度学习技术的快速发展,图像去雾任务成为计算机视觉领域的重要研究方向之一。高质量的数据集是算法研究的基础,本文将介绍一些常用的图像去雾数据集,包括其特点、应用场景以及下载地址。1.RESIDE数据集RESIDE(REalisticSingleImageDEhazing)数据集是目前最常用的......
  • vb编译环境运行没问题,生成exe运行时报错,错误"48"加载dll错误,右键以管理员身份运行可以
    解决办法(推荐):打开vb后,弹出新建工程标准exe,要点打开。然后再打开已建的工程,这样生成的exe可以直接双击运行,就不会报错了。 2、如需重装vb,要记得“数据访问”点“更改选项”去掉ADO和RDS前面的勾选,不然会一直停在更新状态。1.打开安装包点击SETUP.EXE(如果会跳出一个兼容性......
  • [BZOJ3489] A simple rmq problem
    考虑当没有强制在线时,容易想到一个点\(i\)所影响的区间\([l,r]\)满足\(pr_i<l\lei,i\ler<nx_i\)。显然可以转化为矩阵修改,单点求\(\max\)的问题。那扫描线\(+\set\)轻松拿下。强制在线就把线段树换成主席树就可以了。注意这里不能下传标记,所以得用标记永久化。但是......
  • 摄像机实时接入分析平台视频分析网关监控图像中的盲区或死角问题如何预防与解决?
    在现代安全监控系统中,确保监控图像的全面覆盖和无死角是至关重要的。这不仅关系到监控效果的优劣,更直接影响到安全管理的效率和质量。为了有效避免监控图像中的盲区或死角,我们可以采取一系列措施来优化监控系统。以下是一些具体的策略和方法。1、合理规划摄像头布局在安装监控......
  • 国标GB28181公网直播LiteGBS监控图像画面存在噪声,应如何解决?
    随着科技的不断进步,视频监控领域正朝着智能化、高清化、集成化的方向发展。LiteGBS国标GB28181设备端接入SDK作为行业内的佼佼者,在未来有着巨大的发展潜力。从技术发展趋势来看,人工智能与视频监控的结合将更加紧密。在未来,LiteGBS国标GB28181软件将进一步整合人工智能技术,实现智能......