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

本站现有博文322篇,共被浏览789027

本站已经建立2484天!

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