EADST

Python矩阵旋转90度

题目:

请编写一个函数 rotate_matrix_90,将一个 n x n 的二维矩阵顺时针旋转 90 度,并返回旋转后的矩阵。

要求: 1. 原矩阵可以在原地修改,不需要额外的矩阵。 2. 使用 O(1) 的额外空间。

输入示例:

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

输出示例:

[
    [7, 4, 1],
    [8, 5, 2],
    [9, 6, 3]
]

提示: 1. 可以先对矩阵进行转置(行列互换),然后翻转每一行来实现旋转。 2. 该方法适用于 n x n 的矩阵。


解答示例代码:

def rotate_matrix_90(matrix):
    n = len(matrix)
    for i in range(n):
        for j in range(i + 1, n):
            matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
    for i in range(n):
        matrix[i].reverse()
    return matrix

if name == "main": matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] result = rotate_matrix_90(matrix) for row in result: print(row)

代码解释:

  1. 转置矩阵:
  2. 使用双重循环。
  3. 对于每对 matrix[i][j]matrix[j][i],交换它们的值。
  4. 这样原地完成了矩阵的转置(行列互换)。

  5. 翻转每一行:

  6. 使用 reverse() 方法翻转每一行,使得矩阵完成 90 度顺时针旋转。

  7. 输入输出:

  8. 输入是一个二维矩阵,直接在原地修改。
  9. 输出时,可以选择直接打印矩阵的内容。

测试结果:

输入:

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

输出:

[7, 4, 1]
[8, 5, 2]
[9, 6, 3]

相关标签
About Me
XD
Goals determine what you are going to be.
Category
标签云
Plate Github PyTorch Card uwsgi 腾讯云 证件照 Base64 强化学习 Nginx TensorFlow 云服务器 News Agent Clash Land git-lfs GGML Bitcoin 算法题 财报 PIP HaggingFace Template Password API CSV DeepStream Transformers FlashAttention mmap Markdown Freesound GPT4 Vim Statistics VSCode NameSilo LLM Streamlit transformers LoRA 顶会 Rebuttal Pytorch Ubuntu printf 净利润 RAR logger Cloudreve TTS GIT Knowledge 递归学习法 Color Llama FP16 InvalidArgumentError CEIR Image2Text COCO CTC Shortcut PDB Proxy Data FP64 SAM LaTeX Claude QWEN FP32 Miniforge Jetson Hungarian Jupyter Mixtral 版权 Domain Food OCR UNIX C++ Git Zip Google FastAPI 报税 签证 Docker NLP 域名 CUDA Paddle Pillow RGB llama.cpp Heatmap Review Magnet Search Paper 多进程 LLAMA git Django 继承 JSON SQL VGG-16 XGBoost 图标 Baidu ChatGPT WAN MD5 hf Random Diagram Safetensors GoogLeNet Input Ptyhon Bert Website XML Numpy Tensor Gemma BTC 第一性原理 Vmess CAM OpenCV Algorithm Qwen PDF SQLite Translation GPTQ FP8 Use EXCEL BeautifulSoup Python SPIE 音频 Math 搞笑 TSV tar Hotel Disk 图形思考法 TensorRT Windows YOLO CLAP v2ray Bin Quantization AI Datetime 飞书 Video CV ModelScope Distillation 多线程 Permission WebCrawler uWSGI Interview Augmentation Linux 阿里云 OpenAI Quantize 关于博主 IndexTTS2 Tiktoken Qwen2 ResNet-50 Excel PyCharm Logo Hilton DeepSeek Sklearn HuggingFace Anaconda Attention 公式 SVR tqdm Web Firewall Pandas Qwen2.5 Pickle ONNX Animate diffusers Crawler LeetCode Conda NLTK Dataset torchinfo Plotly BF16 Bipartite scipy VPN CC Breakpoint icon Michelin v0.dev Tracking UI
站点统计

本站现有博文323篇,共被浏览795541

本站已经建立2493天!

热门文章
文章归档
回到顶部