首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >动态矩阵(指针与堆内存分配)

动态矩阵(指针与堆内存分配)

作者头像
叶茂林
发布于 2023-07-28 13:46:55
发布于 2023-07-28 13:46:55
24700
代码可运行
举报
运行总次数:0
代码可运行

题目描述

未知一个整数矩阵的大小,在程序运行时才会输入矩阵的行数m和列数n

要求使用指针,结合new方法,动态创建一个二维数组,并求出该矩阵的最小值和最大值,可以使用数组下标法。

不能先创建一个超大矩阵,然后只使用矩阵的一部分空间来进行数据访问、

创建的矩阵大小必须和输入的行数m和列数n一样

输入

第一行输入t表示t个测试实例

第二行输入两个数字m和n,表示第一个矩阵的行数和列数

第三行起,连续输入m行,每行n个数字,表示输入第一个矩阵的数值

依次输入t个实例

输出

每行输出一个实例的最小值和最大值

输入样例1

2 2 3 33 22 11 66 88 55 3 4 19 38 45 14 22 65 87 31 91 35 52 74

输出样例1

11 88 14 91

代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include<iostream>
using namespace std;
int main()
{
	int t,i,j,maxi=0,maxj=0,mini=0,minj=0,m,n;
	cin>>t;
	while(t--)
	{
		cin>>m>>n;
		int **p=new int*[m];
		for(i=0;i<m;i++)
		p[i]=new int [n];
		for(i=0;i<m;i++)
		for(j=0;j<n;j++)
		{
			cin>>p[i][j];
			if(p[i][j]>p[maxi][maxj])
			{
				maxi=i;
				maxj=j;
			} 
			if(p[i][j]<p[mini][minj])
			{
				mini=i;
				minj=j;
			} 
		}
		cout<<p[mini][minj]<<' '<<p[maxi][maxj]<<endl;
		for(i=0;i<m;i++)
		delete[] p[i];
		delete[] p;
	}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【杭电oj】5248 - 序列变换(贪心 & 二分)
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1039 Accepted Submission(s): 474
FishWang
2025/08/26
2010
2025-08-15:按对角线进行矩阵排序。用go语言,给你一个 n × n 的整数矩阵,要求返回一个按下面规则调整后的矩阵:
2025-08-15:按对角线进行矩阵排序。用go语言,给你一个 n × n 的整数矩阵,要求返回一个按下面规则调整后的矩阵:
福大大架构师每日一题
2025/08/15
1830
2025-08-15:按对角线进行矩阵排序。用go语言,给你一个 n × n 的整数矩阵,要求返回一个按下面规则调整后的矩阵:
12:变幻的矩阵
12:变幻的矩阵 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述 有一个N x N(N为奇数,且1 <= N <= 10)的矩阵,矩阵中的元素都是字符。这个矩阵可能会按照如下的几种变幻法则之一进行变幻(只会变幻一次)。  现在给出一个原始的矩阵,和一个变幻后的矩阵,请编写一个程序,来判定原始矩阵是按照哪一种法则变幻为目标矩阵的。  1. 按照顺时针方向旋转90度;  如:  1 2 3        7 4 1 4 5 6 变幻为  8 5 2 7 8 9     
attack
2018/04/11
9290
程序员进阶之算法练习(七十)
题目链接 题目大意: 给出一个数组长度为n,每次可以选择若干个数字,将其数字+1; 问最少需要操作几次,才能让整个数组内的元素值相等。
落影
2022/12/18
6020
动态规划专题——线性DP
给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。
浪漫主义狗
2022/09/21
6480
程序员进阶之算法练习(七十八)
题目链接 题目大意: 在二维坐标系中,每次有两个走法: 1、从(𝑥,𝑦) 到 (𝑥+1, 𝑦+1); 2、从(𝑥,𝑦) 到 (𝑥-1, 𝑦);
落影
2023/07/09
1910
矩阵连乘
矩阵AB可乘的条件是矩阵A的列数等于矩阵B的行数 计算时,加括号方式,对计算量的影响很大 穷举搜索法:来搜索可能的计算次序,并计算出每一种计算次序相应需要的数乘次数,从中找出一种数乘最少的计算次序                               1 分析最优解的结构                                     关键特征:计算A[1:n]的最优次序所包含的计算矩阵子链A[1:k]和 A[k+1:n]的次序也是最优的。                          
用户1154259
2018/01/17
7640
矩阵连乘
【题解】矩阵加速
题目描述 图片 输入格式 第一行一个整数 T,表示询问个数。 以下 T 行,每行一个正整数 n。 输出格式 每行输出一个非负整数表示答案。 输入输出样例 输入 #1 3 6 8 10 输出 #1 4 9 19 说明/提示 图片 题目分析 图片 代码实现 #include <iostream> #include <cstdio> using namespace std; typedef long long ll; const int N=5; const int M=1e9+7; struct
fishhh
2022/12/02
2820
LeetCode双周赛第70场,考察你的基本功
这场比赛是由六方云赞助,并提供了小霸王游戏机等精美礼品……只要打进前五就可以玩了呢……
TechFlow-承志
2022/09/22
3230
LeetCode双周赛第70场,考察你的基本功
程序员进阶之算法练习(八十一)
题目链接 题目大意: 给出n个整数的数组,现在可以对数组进行以下操作: 选择数组中任意两个不同的整数a[i]和a[j],令a[i]=x,a[j]=y,其中满足x*y = a[i] * a[j];
落影
2023/08/09
4100
蛇形矩阵(指针与动态内存分配)
蛇形矩阵,是由1开始的自然数一次排列成的N*N的正方形矩阵,数字依次由外而内的递增。如 N=3时蛇形矩阵为:
叶茂林
2023/07/28
3260
程序员进阶之算法练习(八十三)
题目链接 题目大意: 有长度为n的整数数组a,数组元素都由-1和1组成; 现在每次可以选择一个数组位置,翻转位置上元素(-1变成1,1变成-1); 假如想要实现下面的要求,最少需要多少次操作: 𝑎1+𝑎2+…+𝑎𝑛≥0 𝑎1⋅𝑎2⋅…⋅𝑎𝑛=1
落影
2023/08/20
2890
矩阵左转 C++
2 2 3 1 2 3 4 5 6 3 3 1 2 3 4 5 6 7 8 9
叶茂林
2023/07/28
2420
1050 螺旋矩阵 (25 分)
本题要求将给定的 N 个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n 列,满足条件:m×n 等于 N;m≥n;且 m−n 取所有可能值中的最小值。
可爱见见
2019/10/15
9270
2017.7.21夏令营清北学堂解题报告
预计分数: 60+30+0=90=划水 实际分数: 90+30+20=140=rank5=雷蛇鼠标 一句话总结:今天该买彩票! T1: 题目描述 从前有一个?行?列的网格。 现在有?种颜色,第?种
attack
2018/04/12
8200
腾讯2019秋招笔试真题
【题目描述】:小Q正在攀爬一座宝塔,这座宝塔很特别,塔共有n层,但是每两层之间的净高却不同,所以造成了小Q爬过每层的时间也不同。如果某一层的高度为x,所以爬过这一层的时间也为x。 小Q还会使用一种魔法,每用一次可以让他向上跳一层或者两层,但是每次跳跃之后小Q都将用完魔法力,必须爬过至少一层才能再次跳跃(你可以认为小Q需要跳两次一层才休息,最后也可以跳到塔外即超过塔高,跳是不花费时间的)。 小Q想用最短时间爬到塔顶,希望你告诉他最短时间是多少。 输入描述: 第一行一个数n(n<10000),表示塔的层数。 接下来的n行每行一个数h(1 <= h <= 100)表示从下往上每层的高度。 输出描述: 一个数,表示最短时间。 输入样例:
海盗船长
2020/08/27
7930
【算法/题目训练】:贪心练习
🔥 之前在这篇文章里 【算法/训练】:贪心(算法理论学习及实践) 讲了贪心的知识,以及对于其的练习,这里的话我们就纯练习题目了,也是对之前的文章的补充,以后有关于贪心算法的题目也基本会放到这篇博客里面的
IsLand1314
2025/02/12
1730
【算法/题目训练】:贪心练习
每日算法刷题Day4-完全数、分情况输出、平方矩阵、斐波那契数列匹配输出
⭐每日算法题解系列文章旨在精选重点与易错的算法题,总结常见的算法思路与可能出现的错误,与笔者另一系列文章有所区别,并不是以知识点的形式提升算法能力,而是以实战习题的形式理解算法,使用算法。在众多刷题平台中我比较推荐“牛客”平台,它与其他平台相比有以下优点:
timerring
2022/09/21
5060
每日算法刷题Day4-完全数、分情况输出、平方矩阵、斐波那契数列匹配输出
动态规划-RMQ问题(ST算法)
RMQ(Range Minimum/Maximum Query)问题,是求区间最大值或最小值,即范围最值问题。暴力解法是对每个询问区间循环求解,设区间长度 ,询问次数 ,则复杂度是 。一般还可以使用线段树求解,复杂度是 。但还有一种更简便的ST算法,预处理复杂度是 ,查询 。
唔仄lo咚锵
2021/12/31
8690
07:矩阵归零消减序列和
07:矩阵归零消减序列和 总时间限制: 1000ms 内存限制: 65536kB描述 给定一个n*n的矩阵(3 <= n <= 100,元素的值都是非负整数)。通过(n-1)次实施下述过程,可把这个矩阵转换成一个1*1的矩阵。每次的过程如下: 首先对矩阵进行行归零:即对每一行上的所有元素,都在其原来值的基础上减去该行上的最小值,保证相减后的值仍然是非负整数,且这一行上至少有一个元素的值为0。 接着对矩阵进行列归零:即对每一列上的所有元素,都在其原来值的基础上减去该列上的最小值,保证相减后的值仍然是非负整
attack
2018/04/03
1.6K0
相关推荐
【杭电oj】5248 - 序列变换(贪心 & 二分)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档