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

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

本站已经建立2505天!

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