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

本站现有博文321篇,共被浏览773166

本站已经建立2462天!

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