力扣48. 旋转图像

ops/2025/2/12 8:07:06/

Problem: 48. 旋转图像

文章目录

  • 题目描述
  • 思路
  • 复杂度
  • Code

题目描述

在这里插入图片描述在这里插入图片描述

思路

1.初始化:首先,我们需要获取矩阵的长度len,这将用于后续的索引计算。
2.外层循环:我们使用一个外层循环for (int i = 0; i < len / 2; i++)来遍历矩阵的每一层。这里的i表示当前层的索引,len / 2是层数(对于一个n x n的矩阵,它有n / 2层)。
3.内层循环:对于每一层,我们使用一个内层循环for (int j = i; j < len - i - 1; j++)来遍历这一层的每一个元素。这里的j表示当前元素在这一层中的位置,len - i - 1是这一层的长度。
4.计算旋转后的位置:对于每一个元素,我们需要计算它在旋转90度后应该在的位置。我们使用int m = len - j - 1和int n = len - i - 1来计算这个位置的行索引和列索引。
5.元素交换:最后,我们交换四个位置的元素:matrix[i][j],matrix[m][i],matrix[n][m],和matrix[j][n]。这四个操作完成了一个环形的旋转。

复杂度

时间复杂度:

O ( n ) O(n) O(n)

空间复杂度:

O ( 1 ) O(1) O(1)

Code

class Solution {/*** Rotate a matrix 90 degrees clockwise** @param matrix Given array*/public void rotate(int[][] matrix) {int len = matrix.length;for (int i = 0; i < len / 2; i++) {for (int j = i; j < len - i - 1; j++) {int m = len - j - 1;int n = len - i - 1;//Exchangeint temp = matrix[i][j];matrix[i][j] = matrix[m][i];matrix[m][i] = matrix[n][m];matrix[n][m] = matrix[j][n];matrix[j][n] = temp;}}}
}

http://www.ppmy.cn/ops/20284.html

相关文章

通用模型Medprompt如何在医学领域超越专家系统

在AI的发展历程中&#xff0c;一直存在着两种理念的较量&#xff1a;一种是追求普适性的通用AI模型&#xff0c;另一种是针对特定领域深度优化的专业AI系统。最近&#xff0c;微软的研究团队在这一辩论中投下了一枚重磅炸弹——他们开发的Medprompt策略&#xff0c;使得通用AI模…

AI赋能分层模式,解构未来,智领风潮

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 &#x1f680; 转载自热榜文章&#x1f525;&#xff1a;探索设计模式的魅力&#xff1a;AI赋能分…

【论文浅尝】Porting Large Language Models to Mobile Devices for Question Answering

Introduction 移动设备上的大型语言模型(LLM)增强了自然语言处理&#xff0c;并支持更直观的交互。这些模型支持高级虚拟助理、语言翻译、文本摘要或文本中关键术语的提取(命名实体提取)等应用。 LLMs的一个重要用例也是问答&#xff0c;它可以为大量的用户查询提供准确的和上…

【Unity常用插件】Dotween插件API详解【一】

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;UI_…

mongodb替代品SequoiaDB的安装使用

前言 1、为什么不直接使用mongodb啊&#xff1f; 答&#xff1a;mongodb的使用协议是SSPL&#xff0c;一旦使用需要将你服务器程序都开源处理–或者给钱。非常不好&#xff0c;而SequoiaDB号称能够兼容mongodb协议&#xff0c;这次来安装试试。 mongodb - SSPL&#xff0c;Seq…

注意力机制:SENet详解

SENet&#xff08;Squeeze-and-Excitation Networks&#xff09;是2017年提出的一种经典的通道注意力机制&#xff0c;这种注意力可以让网络更加专注于一些重要的featuremap&#xff0c;它通过对特征通道间的相关性进行建模&#xff0c;把重要的特征图进行强化来提升模型的性能…

支持向量机(SVM)详细介绍

一、SVM基本概念 支持向量机&#xff08;Support Vector Machine&#xff0c;简称SVM&#xff09;是一种二分类模型&#xff0c;它的基本模型是定义在特征空间上的间隔最大的线性分类器。SVM的核心思想是寻找一个超平面&#xff0c;将不同类别的样本点分开&#xff0c;并且使得…

Unity类银河恶魔城学习记录14-5 p152 Lost currency save and enemy‘s currency drop

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili LostCurrencyController.cs using System.Collections; using System.Colle…