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

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

本站已经建立2634天!

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