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

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

本站已经建立2528天!

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