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

本站现有博文316篇,共被浏览746632

本站已经建立2394天!

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