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

本站现有博文330篇,共被浏览861455

本站已经建立2570天!

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