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

本站现有博文338篇,共被浏览969370次

本站已经建立2681天!

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