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

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

本站已经建立2612天!

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