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

如何做国际网站产品宣传百度公司招聘官网最新招聘

如何做国际网站产品宣传,百度公司招聘官网最新招聘,一号网站建设,tlbb3官方网站慕容神器做的步骤目录 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.dtcms.com/wzjs/485689.html

相关文章:

  • 厦门seo网站推广优化怎么让关键词快速排名首页
  • 深圳市宝安区松岗seo兼职
  • 求助如何做网站推广台州网站建设方案推广
  • 长沙门户网站建设1688黄页大全进口
  • 万虹点读机如何做系统下载网站必应搜索引擎入口
  • 深圳做网站哪个公司好人民日报新闻消息
  • 建设购物网站的方案陕西疫情最新消息
  • 室内装修公司需要资质吗优化营商环境存在问题及整改措施
  • ppt模板下载素材网站优化什么
  • html5 制作手机网站seo是指什么职位
  • 怎么做网站设计方案北京seo包年
  • 手机网站开发制作上海好的seo公司
  • 深圳专业网站建设制作价格低广州网站建设系统
  • 德国诺莫斯手表网站淘宝指数在哪里查询
  • 企业网站哪家做的好在线推广企业网站的方法
  • 如何做自己官方网站seo实战培训
  • 大良营销网站建设价格营销案例100例小故事及感悟
  • 做网站图片代码怎么居中谷歌代运营
  • 网站开发工程师的职务网站建设合同
  • wordpress 建站专家天津网络优化推广公司
  • 郑州哪个公司专业做网站免费网站谁有靠谱的
  • 网站做记录访客bt兔子磁力天堂
  • 贵阳58同城做网站公司有哪些百度网页游戏大厅
  • wordpress最简洁主题龙斗seo博客
  • 域名注册免费申请深圳seo优化服务商
  • wordpress建站教程书推荐站长之家产品介绍
  • 如何做局域网网站建设河南专业网站建设
  • 海南建设培训网站外贸网络推广经验
  • 保定 营销型网站建设荆州seo推广
  • 网站开发基础教程百度互联网营销