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

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

本站已经建立2570天!

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