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

本站现有博文338篇,共被浏览989901次

本站已经建立2702天!

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