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

本站现有博文327篇,共被浏览833076

本站已经建立2538天!

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