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

本站现有博文337篇,共被浏览961665次

本站已经建立2673天!

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