当前位置: 首页 > news >正文

网站制作设计培训多少钱百度视频免费下载

网站制作设计培训多少钱,百度视频免费下载,学院网站建设开题报告,广州技术支持 网站建设目录 1.题目 2.分析 函数参数的解释 矩阵转置的核心代码 3.代码 4.提交结果 5.简洁代码 1.题目 867. 转置矩阵 给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。 矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。 示例…

目录

1.题目

2.分析

函数参数的解释

矩阵转置的核心代码

3.代码

4.提交结果

5.简洁代码


1.题目

867. 转置矩阵

给你一个二维整数数组 matrix, 返回 matrix转置矩阵

矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:[[1,4,7],[2,5,8],[3,6,9]]

示例 2:

输入:matrix = [[1,2,3],[4,5,6]]
输出:[[1,4],[2,5],[3,6]]

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 1000
  • 1 <= m * n <= 105
  • -10^9 <= matrix[i][j] <= 10^9

2.分析

函数参数的解释

这几个参数比较奇怪:matrix、matrixSize、matrixColSize、returnSize、returnColumnSizes

LeetCode的注释上是这样说的:

/*** Return an array of arrays of size *returnSize.* The sizes of the arrays are returned as *returnColumnSizes array.* Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().*/

如果没看懂,可以打印参数看看情况:

指定矩阵[[1,2,3],[4,5,6],[7,8,9],[10,11,12]],打印各个参数的值:

int** transpose(int** matrix, int matrixSize, int* matrixColSize, int* returnSize, int** returnColumnSizes) 
{printf("matrixSize:%d\n",matrixSize);printf("matrixColSize[0]:%d\n",matrixColSize[0]);printf("matrixColSize[1]:%d\n",matrixColSize[1]);printf("matrixColSize[2]:%d\n",matrixColSize[2]);printf("matrixColSize[3]:%d\n",matrixColSize[3]);return NULL;//随便返回一个值,为了编译能通过
}

查看测试结果的标准输出:

可以得出:matrixSize是矩阵的行数,矩阵第i行的元素个数为matrixColSize[i](i从0开始算)

则可以推出:returnSize是返回矩阵的行数, *returnColumnSizes数组存储返回矩阵的每一行元素的个数(即列数)

矩阵转置的核心代码

return_matrix[i][j]=matrix[j][i];

元素的行列互换

3.代码

C语言

本题较好考察了指针的运用

int** transpose(int** matrix, int matrixSize, int* matrixColSize, int* returnSize, int** returnColumnSizes) 
{*returnSize=matrixColSize[0];//原矩阵最少1列*returnColumnSizes=(int*)malloc(sizeof(int*)*matrixColSize[0]);for (int i=0;i<*returnSize;i++){(*returnColumnSizes)[i]=matrixSize;}int** return_matrix=(int**)malloc(sizeof(int**)*(*returnSize));for (int i=0;i<*returnSize;i++){return_matrix[i]=(int*)malloc(sizeof(int*)*(*returnColumnSizes[0]));for (int j=0;j<(*returnColumnSizes[0]);j++){return_matrix[i][j]=matrix[j][i];}}return return_matrix;
}

注意不用写free(),LeetCode上注释写着:assume caller calls free(),即假定调用者调用了free(),transpose函数是被调用者调用的

4.提交结果

5.简洁代码

如果想简化代码,可以一重循环和二重循环合并

int** transpose(int** matrix, int matrixSize, int* matrixColSize, int* returnSize, int** returnColumnSizes) 
{*returnSize=matrixColSize[0];//原矩阵最少1列*returnColumnSizes=(int*)malloc(sizeof(int*)*matrixColSize[0]);int** return_matrix=(int**)malloc(sizeof(int**)*(*returnSize));for (int i=0;i<*returnSize;i++){(*returnColumnSizes)[i]=matrixSize;return_matrix[i]=(int*)malloc(sizeof(int*)*(*returnColumnSizes[0]));for (int j=0;j<(*returnColumnSizes[0]);j++){return_matrix[i][j]=matrix[j][i];}}return return_matrix;
}
http://www.cadmedia.cn/news/9862.html

相关文章:

  • 怎么自己创建网站或者app搜索引擎营销的五大特点
  • 口碑营销和病毒营销的区别新余seo
  • 电子商务平台的功能有哪些app排名优化
  • 软件网站建设专业网站模板免费下载
  • 徐州模板自助建站查关键词排名网
  • 南宁软件优化网站建设四川网络推广推广机构
  • h5网站建设的具体内容电子商务seo
  • 重庆网站建设 最便宜草根seo视频大全网站
  • 公司想建网站网络营销论文题目
  • 阿里云服务器学生机seo优化运营
  • 苏州公司官网制作百度app关键词优化
  • 网站建设相关专业今日头条最新消息
  • wordpress更改固定连接404福建seo排名
  • 吉安市建设规划局网站万能搜索引擎入口
  • 网站建设哪家靠谱企业seo职位
  • 郑州网站建设 新浪博客磁力多多
  • 域名注册及网站建设关键词如何快速排名
  • 北京网页网站设计百度指数官网首页
  • 网站规则谷歌seo一个月费用需要2万吗
  • 印刷电商网站开发长沙网站建站模板
  • 旅游网站建设项目报告论文免费网站java源码大全
  • 自动发货网站怎么做百度怎么联系客服
  • 商务网站设计论文北京环球影城每日客流怎么看
  • 职业技术学院网站建设项目环球网最新消息
  • 济南小型网站建设深圳网站设计公司
  • 制作公司网站设太原整站优化排名外包
  • 武汉百度网站推广seo关键词优化推广报价表
  • 临清轴承网站建设天津seo选天津旗舰科技a
  • 西宁市网站建设官网自己怎样在百度上做推广
  • 郑州做网站熊掌号做app软件大概多少钱