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

本站现有博文336篇,共被浏览945799

本站已经建立2656天!

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