[算法]入门1.矩阵转置


文章目录


1、题目

链接:B2106 矩阵转置 - 洛谷 | 计算机科学教育新生态

2、基础

此题目主要考察二维数组的掌控能力。

3、思路

观察,可知:

  • 输入中,矩阵是打印每行,在打印每行的时候,行保持不变,列在变化。
  • 转置后,矩阵是打印每列,在打印每列的时候,列保持不变,行在变化。

于是,题目这样解:

cpp 复制代码
#include <iostream>
using namespace std;

const int N = 110;
int arr[N][N];
int n, m;

int main()
{
    cin >> n >> m;
    // 矩阵:在每行中,行不变,列变化。
    // i控制打印行,
    for (int i = 0; i < n; i++) 
    {
        // j控制打印列
        for (int j = 0; j < m; j++) 
        {
            cin >> arr[i][j];
        }
    }
    // 转置:在每列中,列不变,行变化。
    // i控制打印列
    for (int i = 0; i < m; i++)
    {
        // j控制打印行
        for (int j = 0; j < n; j++)
        {
            cout << arr[j][i] << " ";
        }
        cout << endl;
    }
    return 0;
}

4、结果


完。

相关推荐
BUG收容所所长19 分钟前
二分查找的「左右为难」:如何优雅地找到数组中元素的首尾位置
前端·javascript·算法
itsuifengerxing1 小时前
python 自定义无符号右移
算法
猎板PCB厚铜专家大族1 小时前
高频 PCB 技术发展趋势与应用解析
人工智能·算法·设计规范
dying_man2 小时前
LeetCode--24.两两交换链表中的结点
算法·leetcode
yours_Gabriel2 小时前
【力扣】2434.使用机器人打印字典序最小的字符串
算法·leetcode·贪心算法
草莓熊Lotso2 小时前
【数据结构初阶】--算法复杂度的深度解析
c语言·开发语言·数据结构·经验分享·笔记·其他·算法
KyollBM2 小时前
【CF】Day75——CF (Div. 2) B (数学 + 贪心) + CF 882 (Div. 2) C (01Trie | 区间最大异或和)
c语言·c++·算法
CV点灯大师3 小时前
C++算法训练营 Day10 栈与队列(1)
c++·redis·算法
GGBondlctrl3 小时前
【leetcode】递归,回溯思想 + 巧妙解法-解决“N皇后”,以及“解数独”题目
算法·leetcode·n皇后·有效的数独·解数独·映射思想·数学思想
武子康3 小时前
大数据-276 Spark MLib - 基础介绍 机器学习算法 Bagging和Boosting区别 GBDT梯度提升树
大数据·人工智能·算法·机器学习·语言模型·spark-ml·boosting