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

本站现有博文333篇,共被浏览922376

本站已经建立2628天!

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