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

本站现有博文309篇,共被浏览735767

本站已经建立2372天!

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