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

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

本站已经建立2439天!

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