java - 同时比较二维数组的层

标签 java arrays

我正在开发一个 Java 算法类项目,但我遇到了这个我无法解决的问题。

我有一个大小为 [m][n] 的二维数组,其中 m 和 n 可以根据输入而波动。我想根据二维数组中任何垂直列中最低的值将这些值压缩为一维数组。这是数组的两个示例。

示例 1 输入:

3.0, 4.0, 2.0, 3.0, 4.0, 2.0, 1.0, 2.0, 0.0, 3.0, 3.0 
0.0, 1.0, 1.0, 2.0, 3.0, 1.0, 2.0, 3.0, 3.0, 2.0, 2.0 

示例 1 输出:

0.0, 1.0, 1.0, 2.0, 3.0, 1.0, 1.0, 2.0, 0.0, 2.0, 2.0

示例 2 输入:

0.0, 1.0, 1.0, 2.0, 3.0, 1.0, 2.0, 3.0, 3.0, 2.0, 2.0 
2.0, 3.0, 1.0, 0.0, 1.0, 3.0, 2.0, 3.0, 3.0, 4.0, 2.0 
1.0, 2.0, 2.0, 3.0, 4.0, 0.0, 1.0, 2.0, 2.0, 1.0, 3.0 
1.0, 2.0, 0.0, 1.0, 2.0, 2.0, 1.0, 2.0, 2.0, 3.0, 1.0 
2.0, 3.0, 1.0, 2.0, 3.0, 1.0, 0.0, 1.0, 1.0, 2.0, 2.0 

示例 2 输出:

0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0

这就是我想要排序的逻辑是这样的:

loop through the 2-d array
at every vertical index, compare all values within the vertical index,
output lowest value to single dimensional array

我相信这是一个有点简单的问题,但我不知道如何正确地做到这一点。感谢您提供的任何建议!

最佳答案

想象一下,对于 input[m][n],m 是您的行,n 是您的列,因此您必须按列遍历才能获得该列中的最低值:

int[] output = new int[n];
for(i = 0; i < n; i++)
   output[n] = input[0][n];
for(i = 0; i < n; i++)
   for(k = 0; k < m; k++)
      if(output[n] > input[m][n])
          output[n] = input[m][n];  

关于java - 同时比较二维数组的层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40701484/

相关文章:

java - HttpClient错误: Please try enabling cookies or turning off Private Mode

javascript - 遍历对象时遇到问题

java - 以ip地址样式打印字符串

arrays - 计算最多包含 k 个奇数的子数组

java - 如何在单元测试中使用自定义 Spring 作用域 (SpringJUnit4ClassRunner)

java - 以编程方式构建 Netbeans 平台应用程序时出现 Ant 类路径错误

java - 如何将一组建议添加到 setSuggestions 中

java - 当 main 方法包含在类中时,我的程序可以编译,但当 main 方法是单独的时则不能编译

Python 字符串比较不起作用

javascript - 将 javascript 对象键值推送到 javascript 对象键数组