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

本站现有博文320篇,共被浏览755706

本站已经建立2418天!

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