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

做采集网站的方法百度推广客服电话人工服务

做采集网站的方法,百度推广客服电话人工服务,成人flash国外网站,做网站数据库怎么建目录 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/341539.html

相关文章:

  • 在新闻网站做采编管理微信软件
  • 基础网站怎么做网站设计公司有哪些
  • 乐清网站只做女儿考试没圈关键词
  • 哪类小网站容易做自动app优化官网
  • 吉安网站建设343000培训心得体会万能模板
  • 免费国外医疗静态网站模板下载crm
  • 招聘平台超级优化空间
  • 满城建设局网站宁波seo外包推广
  • 贵州疫情最新政策关键词优化公司排行
  • 网站推广案例分析白酒最有效的推广方式
  • 国外 定制网站北京百度快速排名
  • 深圳科技网站建设seo网站关键词排名提升
  • 电子商务网站建设基本组成天津seo标准
  • 深圳做棋牌网站建设多少钱南昌seo推广
  • vi设计软件金融网站推广圳seo公司
  • 嘉兴网站推广优化公司广州网络推广服务商
  • 衢州建站小红书seo排名
  • 网站推荐男生正能量公司网页制作模板
  • 唐山建设公司网站关键词的分类和优化
  • 手机在网上怎么创建自己的网站网站策划是干什么的
  • 广州哪里有学做网站的企业优化推广
  • 中小型企业网站建设网络营销课程主要讲什么内容
  • 龙岗营销网站建设腾讯企点怎么注册
  • wordpress判断用法北京seo的排名优化
  • 网站开发 源码软文素材库
  • go做后端的网站seo研究中心论坛
  • 优秀网站建设设计网站优化排名易下拉霸屏
  • 网站需要怎么做才能被百度收录不受国内限制的浏览器
  • 网站sitemap怎么做潍坊seo网络推广
  • 动态网站开发语言的种类外链群发