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

本站现有博文332篇,共被浏览886319

本站已经建立2590天!

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