EADST

C++矩阵旋转90度

题目:

请编写一个函数 rotateMatrix90,将一个 n x n 的二维矩阵顺时针旋转 90 度,并返回旋转后的矩阵。

要求: 1. 原矩阵可以在原地修改,不需要额外的矩阵。 2. 使用 O(1) 的额外空间。

输入示例:

vector< vector< int>> matrix = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};

输出示例:

{
    {7, 4, 1},
    {8, 5, 2},
    {9, 6, 3}
}

提示: 1. 可以先对矩阵进行转置(行列互换),然后翻转每一行来实现旋转。 2. 该方法适用于 n x n 的矩阵。


解答示例代码:

#include < vector>
#include < algorithm>
#include < iostream>

using namespace std;

void rotateMatrix90(vector< vector< int>>& matrix) {
    int n = matrix.size();

    // 转置矩阵
    for (int i = 0; i < n; ++i) {
        for (int j = i + 1; j < n; ++j) {
            swap(matrix[i][j], matrix[j][i]);
        }
    }

    // 每一行翻转
    for (int i = 0; i < n; ++i) {
        reverse(matrix[i].begin(), matrix[i].end());
    }
}

// 测试代码
int main() {
    vector< vector< int>> matrix = {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };

    rotateMatrix90(matrix);

    // 输出结果
    for (const auto& row : matrix) {
        for (int num : row) {
            cout << num << " ";
        }
        cout << endl;
    }

    return 0;
}

代码解释:

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

本站现有博文327篇,共被浏览833869

本站已经建立2539天!

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