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

本站现有博文328篇,共被浏览843899

本站已经建立2549天!

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