day12 leetcode-hot100-20(矩阵3)
48. 旋转图像 - 力扣(LeetCode)
1.辅助数组法(题目不让)
思路:很简单,新建一个二维数组,直接找新数组与旧数组的规律即可。比如这个旋转90。那就是相当于 new[col][n-row-1]=old[row][col],然后两个for循环,分别为0-(n-1)即可。
2.原地旋转数组
思路
(1)这个很有意思,你可以旋转四次试一试,能够发现规律,也就是第四次旋转到原来的位置了,那我们就可以将第一次开始旋转的位置放到临时变量temp中,然后依次替代即可。下面展示官方提供的规律图解:
(2)难点在于如何遍历,肯定不能遍历n*n次了,否则就回去了,我们现在是每个循环改变4次,所以只需要循环n*n/4即可。我们将n*n大小分成4块就能完成所有改变。
具体代码
class Solution {public void rotate(int[][] matrix) {int n=matrix.length;for(int i=0;i<n/2;i++){for(int j=0;j<(n+1)/2;j++){int temp=matrix[i][j];matrix[i][j]=matrix[n-j-1][i];matrix[n-j-1][i]=matrix[n-i-1][n-j-1];matrix[n-i-1][n-j-1]=matrix[j][n-i-1];matrix[j][n-i-1]=temp;}}}
}
相关文章:

day12 leetcode-hot100-20(矩阵3)
48. 旋转图像 - 力扣(LeetCode) 1.辅助数组法(题目不让) 思路:很简单,新建一个二维数组,直接找新数组与旧数组的规律即可。比如这个旋转90。那就是相当于 new[col][n-row-1]old[row][col],然后…...

【Java开发日记】基于 Spring Cloud 的微服务架构分析
目录 1、Spring Cloud 2、Spring Cloud 的核心组件 1. Eureka(注册中心) 2. Zuul(服务网关) 3. Ribbon(负载均衡) 4. Hystrix(熔断保护器) 5. Feign(REST转换器&a…...
接口性能优化
一、耗时统计 在做接口的性能优化时,最重要的是知道时间消耗在哪里。 可以用StopWatch,进行耗时统计。 详情见: https://blog.csdn.net/sinat_32502451/article/details/148350451 二、链路追踪 如果团队使用了Skywalking,可以…...

AWTK 嵌入式Linux平台实现多点触控缩放旋转以及触点丢点问题解决
前言 最近涉及海图的功能交互,多点触摸又开始找麻烦。 在PC/Web平台awtk是通过底层的sdl2库来实现多点触摸,但是在嵌入式Linux平台,可能是考虑到性能原因,awtk并没有采用sdl库来做事件处理,而是自己实现一个awtk-lin…...

尚硅谷redis7 93-97 springboot整合reids之总体概述
93 springboot整合reids之总体概述 总体概述 jedis-lettuce-RedisTemplate三者的联系 名称类型作用描述和其它的关系JedisRedis 客户端早期主流的 Java Redis 客户端,基于阻塞 I/O,同步操作可作为 RedisTemplate 的底层连接实现LettuceRedis 客户端基…...
Flutter、React Native、Unity 下的 iOS 性能与调试实践:兼容性挑战与应对策略(含 KeyMob 工具经验)
移动端跨平台开发逐渐成为常态,Flutter、React Native、Unity、Hybrid App 等框架在各类 iOS 项目中频繁出现。但随之而来的,是一系列在 iOS 设备上调试难、性能数据采集难、日志整合难的问题。 今天这篇文章,我从实际项目出发,聊…...

声纹技术体系:从理论基础到工程实践的完整技术架构
文章目录 一、声纹技术的理论基础与概念内核1.1 声纹的生物学本质与数学表征1.2 特征提取的理论基础与实现机制 二、声纹识别技术的演进逻辑与方法体系2.1 传统统计学方法的理论架构2.2 深度学习方法的技术革新2.3 损失函数的设计原理与优化策略 三、声纹识别系统的架构设计与模…...

行为型:命令模式
目录 1、核心思想 2、实现方式 2.1 模式结构 2.2 实现案例 3、优缺点分析 4、适用场景 5、实际应用 1、核心思想 目的:将指令信息封装成一个对象,并将此对象作为参数发送给接收方去执行,以使命令的请求方与执行方解耦 概念ÿ…...
构建多模型协同的Ollama智能对话系统
构建多模型协同的Ollama智能对话系统 在人工智能应用中,单一模型往往难以满足复杂场景的需求。本文将介绍如何整合多个Ollama模型,构建一个智能对话系统,实现情感分析、危机评估和智能回复的协同功能。 系统架构 该系统采用多模型pipeline…...

vue3 + WebSocket + Node 搭建前后端分离项目 开箱即用
[TOC](vue3 WebSocket Node 搭建前后端分离项目) 开箱即用 前言 top1:vue3.5搭建前端H5 top2:Node.js koa搭建后端服务接口 top3:WebSocket 长连接实现用户在线聊天 top4:接口实现模块化 Mysql 自定义 top5:文件上…...

Win10秘笈:两种方式修改网卡物理地址(MAC)
Win10秘笈:两种方式修改网卡物理地址(MAC) 在修改之前,可以先确定一下要修改的网卡MAC地址,查询方法有很多种,比如: 1、在设置→网络和Internet→WLAN/以太网,如下图所示。 2、在控…...

【软件】navicat 官方免费版
Navicat Premium Lite https://www.navicat.com.cn/download/navicat-premium-lite...

【深度学习】16. Deep Generative Models:生成对抗网络(GAN)
Deep Generative Models:生成对抗网络(GAN) 什么是生成建模(Generative Modeling) 生成模型的主要目标是从数据中学习其分布,从而具备“生成”数据的能力。两个关键任务: 密度估计࿰…...
java操作服务器文件(把解析过的文件迁移到历史文件夹地下)
第一步导出依赖 <dependency><groupId>org.apache.sshd</groupId><artifactId>sshd-core</artifactId><version>2.13.0</version></dependency> 第二步写代码 public void moveFile( List<HmAnalysisFiles> hmAnalys…...

特伦斯 S75 电钢琴:重构演奏美学的极致表达
在数字音乐时代,电钢琴正从功能性乐器升级为融合艺术、科技与生活的美学载体。特伦斯 S75 电钢琴以极简主义哲学重构产品设计,将专业级演奏体验与现代家居美学深度融合,为音乐爱好者打造跨越技术边界的沉浸式艺术空间。 一、极简主义的视觉叙…...
STM32-标准库-GPIO-API函数
1.void GPIO_DeInit(GPIO_TypeDef* GPIOx); 简明 清除GPIOx的外围寄存器下所有引脚的配置, 恢复到默认配置状态(即上电初始值) 参数 GPIOx:其中x可以是(A..G)来选择GPIO外设。 返回值 None void GPIO_DeInit(GPI…...

Java 文件操作 和 IO(4)-- Java文件内容操作(2)-- 字符流操作
Java 文件操作 和 IO(4)-- Java文件内容操作(2)-- 字符流操作 文章目录 Java 文件操作 和 IO(4)-- Java文件内容操作(2)-- 字符流操作观前提醒:1. Java中操作文件的简单介…...
机器学习与深度学习06-决策树02
目录 前文回顾5.决策树中的熵和信息增益6.什么是基尼不纯度7.决策树与回归问题8.随机森林是什么 前文回顾 上一篇文章地址:链接 5.决策树中的熵和信息增益 熵和信息增益是在决策树中用于特征选择的重要概念,它们帮助选择最佳特征进行划分。 熵&#…...
Netty 实战篇:构建简易注册中心,实现服务发现与调用路由
本文将为前面构建的轻量级 RPC 框架添加“服务注册与发现”功能,支持多服务节点动态上线、自动感知与调用路由,为构建真正可扩展的分布式系统打好基础。 一、背景:为什么需要注册中心? 如果每个客户端都硬编码连接某个 IP/端口的…...
微信小程序(uniapp)对接腾讯云IM
UniApp 对接腾讯云 IM(即时通讯)完整指南 一、项目背景与需求分析 随着社交场景的普及,即时通讯功能已成为移动应用的标配。腾讯云 IM(Tencent IM,即 TIM)提供稳定可靠的即时通讯服务,支持单聊…...

使用摄像头推流+VLC软件拉流
一、作用 使用摄像头创建rtsp链接,并使用VLC软件拉流显示。 二、步骤 1、安装FFmpeg库 下载地址:https://ffmpeg.org/download.htmlFFmpeg库的下载参考之前的博客,下载Win64版本即可:https://blog.csdn.net/beijixingcd/artic…...
python魔法函数
Python 中的魔法方法(Magic Methods),也称为特殊方法(Special Methods)或双下方法(Dunder Methods),是以双下划线 __ 开头和结尾的方法。它们用于定义类的行为,例如运算符…...

XCUITest 是什么
XCUITest(全称 Xcode UI Test)是苹果官方提供的 iOS/macOS UI 自动化测试框架,集成在 Xcode 开发工具中,专门用于测试 Swift/Objective-C 开发的应用程序。 1. XCUITest 的核心特点 ✅ 官方支持:苹果原生框架…...
使用k8s服务进行端口代理
创建registry-service.yaml 使用无Selector的Service Endpoints模式 vi registry-service.yaml编辑以下内容 apiVersion: v1 kind: Service metadata:name: registry-service spec:type: NodePortports:- name: httpprotocol: TCPport: 81 # Service内部端口targ…...

灌水论坛系统总体设计文档
一、实验题目 灌水论坛系统 二、实验目的 旨在通过一个相对完整且功能丰富的Web应用实例,全面地实践和巩固Web开发所需的各项核心技术和工程方法,从而提升其综合应用能力和解决实际开发问题的能力。它不仅仅是完成一个软件,更是一个学习、…...

Mac M1编译OpenCV获取libopencv_java490.dylib文件
Window OpenCV下载地址 https://opencv.org/releases/OpenCV源码下载 https://github.com/opencv/opencv/tree/4.9.0 https://github.com/opencv/opencv_contrib/tree/4.9.0OpenCV依赖 brew install libjpeg libpng libtiff cmake3 ant freetype构建open CV cmake -G Ninja…...

使用 Let‘s Encrypt 和 Certbot 为 Cloudflare 托管的域名申请 SSL 证书
一、准备工作 1. 确保域名解析在 Cloudflare 确保你的域名 jessi53.com 和 www.jessi53.com 的 DNS 记录已经正确配置在 Cloudflare 中,并且状态为 Active。 2. 安装 Certbot 在你的服务器上安装 Certbot 和 Cloudflare 插件。以下是基于 Debian/Ubuntu 和 Cent…...
【Python进阶】元编程、并发
目录 🌟 前言🏗️ 技术背景与价值🩹 当前技术痛点🛠️ 解决方案概述👥 目标读者说明🧠 一、技术原理剖析📊 核心架构图解💡 核心作用讲解🔧 关键技术模块说明⚖️ 技术选型对比🛠️ 二、实战演示⚙️ 环境配置要求💻 核心代码实现案例1:元类实现ORM框架…...
网络协议:[0-RTT 认证 ]
1. 为什么要 0-RTT 认证 降低延迟:SOCKS5 在无认证时需要 2 RTT(握手+请求),若加用户名/密码又要 3 RTT;0-RTT 通过合并步骤,目标是把握手+认证+请求都压缩到 1 RTT。 IE…...
单例模式的类和静态方法的类的区别和使用场景
单例模式的类和使用静态方法的类在功能上都能提供全局访问的能力,但它们在实现方式、特性和使用场景上存在差异,下面从多个方面进行比较: 1. 实现方式 单例模式的类 单例模式确保一个类只有一个实例,并提供一个全局访问点。通常…...