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

本站现有博文324篇,共被浏览822617

本站已经建立2528天!

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