Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从二维数组的每一列获取最大值。

从二维数组的每一列获取最大值。
EN

Stack Overflow用户
提问于 2012-11-08 11:26:34
回答 2查看 402关注 0票数 0

例如,我在数组中有一个数组:

代码语言:javascript
运行
AI代码解释
复制
[ 
    [0, 20, 5], 
    [5, 0, 15], 
    [5, 10, 0]
]

我需要在每一列中得到最大数字。

  • [0 , 5 , 5]的最大值是5,因此进入结果数组。
  • [20, 0, 10]的最大值是20,因此进入结果数组。
  • [5, 15, 0]的最大值是15,因此进入结果数组。

最终结果数组必须包含[5, 20, 15]

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-08 11:41:17

首先,必须转换数组(翻转行和列):

代码语言:javascript
运行
AI代码解释
复制
function array_transpose($arr) {
   $map_args = array_merge(array(NULL), $arr);
   return call_user_func_array('array_map', $map_args);
}

(摘自是否有更好的方法来转换PHP2D数组? -阅读这个问题来解释它是如何工作的)

然后,您可以在新数组上映射max函数:

代码语言:javascript
运行
AI代码解释
复制
$maxes = array_map('max', array_transpose($arr));

示例:http://codepad.org/3gPExrhO

我认为这是你的意思,而不是(5,15,20),因为你说索引1应该是(20,0,10)的最大值。

代码语言:javascript
运行
AI代码解释
复制
Array
(
    [0] => 5
    [1] => 20
    [2] => 15
)
票数 4
EN

Stack Overflow用户

发布于 2021-08-29 09:43:51

如果没有splat运算符,array_map()max()将返回每行的最大值。([20, 15, 10])

使用splat运算符转置数据结构,将返回每列的最大值。

代码:(演示)

代码语言:javascript
运行
AI代码解释
复制
$array = [ 
    [0, 20, 5], 
    [5, 0, 15], 
    [5, 10, 0]
];

var_export(
    array_map('max', ...$array)
);

输出:

代码语言:javascript
运行
AI代码解释
复制
array (
  0 => 5,
  1 => 20,
  2 => 15,
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13296273

复制
相关文章
二维数组找最大值
题目:输入一个3x4的矩阵,输出一个矩阵的最大值及其行数、列数。 第一种方案: #include<stdio.h> void main() { int a[3][4],i,j,l,k,max; for(i=0;i<3;i++) { for(j=0;j<4;j++) { scanf("%d",&a[i][j]); } } max=a[0][0]; l=0; k=0;
布衣者
2021/09/07
8910
java获取数组最大值索引_java数组最大值最小值
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/29
2.7K0
查找二维数组的最大值及其位置
这道题目就是一道简单的二维数组查找问题,遍历二维数组即可找到最大值。 代码实现(Java)
用户8224910
2021/01/26
2.3K0
获取数组最大值之最简方法
let ary = [2, 5, 3, 7, 9, 15,10]; 1.用排序sort 和反转 let  maxVal = ary.sort().reverse()[0]; 2. 只用排序 sort let maxVal = ary.sort(function(a,  b){   return b-a; }) 3.用Math.max 和... 扩展运算符 Math.max(...ary) 4.用Math.max 和apply Math.max.apply(null, ary) 5,还有复杂的用循环对比咯
用户3055976
2019/10/26
8290
2021-08-13:给定一个每一行有序、每一列也有序,整体可能无序的二维数组 ,在给定一个正数k,返回二维数组中,最小的第k个
2021-08-13:给定一个每一行有序、每一列也有序,整体可能无序的二维数组 ,在给定一个正数k,返回二维数组中,最小的第k个数。
福大大架构师每日一题
2021/09/03
1.4K0
2021-08-13:给定一个每一行有序、每一列也有序,整体可能无序的二维数组 ,在给定一个正数k,返回二维数组中,最小的第k个
hive 获取数组的最大值和最小值
select exploded_column,XXXX.column2 from XXXX LATERAL VIEW explode(XXXX.column1) t1 as exploded_column
week
2022/01/07
5K0
js获取数组中的最大值最小值
遍历方法: var tmp = [1,12,8,5]; var max = tmp[0]; for(var i=1;i<tmp.length;i++){ if(max<tmp[i])max=tmp[i]; } console.log(max); 使用apply方法: var a = [1,2,3,5]; console.log(Math.max.apply(null, a));//最大值 console.log(Math.min.apply(null, a));//最小值 多维数组可以这
deepcc
2018/05/16
36.9K0
获取MySql每一列的数据类型和长度默认值等信息
如何获取MySql表中各个列的数据类型? show columns from tablename 返回结果如下: id    int(11)     NO  PRI         auto_incr
码农阿宇
2018/04/18
4.3K0
获取MySql每一列的数据类型和长度默认值等信息
Java练习题-获取数组元素最大值
1.定义一个getMax()方法,用于查找数组元素最大值,传入一个整数数组arr作为参数
hacker707
2023/10/16
2270
Java练习题-获取数组元素最大值
2022-09-25:给定一个二维数组matrix,数组中的每个元素代表一棵树的高度。 你可以选定连续的若干行组成防风带,防风带每一列的防风高度为这一列的最大值
2022-09-25:给定一个二维数组matrix,数组中的每个元素代表一棵树的高度。
福大大架构师每日一题
2022/09/25
2.6K0
2022-09-25:给定一个二维数组matrix,数组中的每个元素代表一棵树的高度。 你可以选定连续的若干行组成防风带,防风带每一列的防风高度为这一列的最大值
LeetCode 1646. 获取生成数组中的最大值
我的CSDN博客地址 https://michael.blog.csdn.net/
Michael阿明
2021/02/19
9690
PHP怎么获取二维数组之间的差值
前几天写了一个获取思否某标签下文章的采集Api,为了不想重复推送,就加了一个新旧文件比较的操作,其实就是两个数组合并取差值
沈唁
2019/05/21
1.7K0
如何批量对每一行或者每一列进行排序?
先上效果图。 (一) 批量针对每一行排序 1. 把每一行转换成列表 函数:Table.ToRows 2. 针对每一个行生成的列表进行排序 函数:List.Transform,List.Sort 3.
逍遥之
2020/03/23
3.1K0
分割数组的最大值
给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组。设计一个算法使得这 m 个子数组各自和的最大值最小。 数组长度 n 满足以下条件:
你的益达
2020/08/05
4.4K0
记录java从左上到右下打印二维数组,从左下到右上打印二维数组
左上到右下 public static void main(String[] args) { int[][] matrix = new int[][]{ new int[]{2, 3, 5,10}, new int[]{5, 2, 4, 1}, new int[]{3, 3, 1, 1} }; process(matrix); } pri
gzq大数据
2021/12/31
6340
Javascript获取数组中的最大值和最小值的方法汇总
比较数组中数值的大小是比较常见的操作,下面同本文给大家分享四种放哪广发获取数组中最大值和最小值,对此感兴趣的朋友一起学习吧 比较数组中数值的大小是比较常见的操作,比较大小的方法有多种,比如可以使用自带的sort()函数,下面来介绍如下几种方法,代码如下: 方法一: //最小值 Array.prototype.min = function() { var min = this[0]; var len = this.length; for (var i = 1; i < len; i++){ if (this
前朝楚水
2018/04/02
7.7K0
LeetCode 2133. 检查是否每一行每一列都包含全部整数
对一个大小为 n x n 的矩阵而言,如果其每一行和每一列都包含从 1 到 n 的 全部 整数(含 1 和 n),则认为该矩阵是一个 有效 矩阵。
Michael阿明
2022/03/10
4620
LeetCode 2133. 检查是否每一行每一列都包含全部整数
C++多维数组元素的地址 | 输出二维数组任一行任一列元素的值
array是一个数组名,array数组包含3行,及3个元素:array[0],array[1],array[2],而每一个元素又是一个一维数组,它包含4列元素。
小林C语言
2020/12/17
3.4K0
C++多维数组元素的地址 | 输出二维数组任一行任一列元素的值
leetcode - 分割数组的最大值
给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组。设计一个算法使得这 m 个子数组各自和的最大值最小。
江涛学编程
2020/07/29
1.5K0
点击加载更多

相似问题

如何从二维数组中获取每列的最大值+最大值的索引

00

难以为二维数组中的每一列找到最大值

12

从csv文件的每一列获取最大值

31

从Javascript中的每一列中获取最大值?

569

从pandas.DataFrame的每一列中获取最大值

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档