【问题标题】:How to convert matrix to string array?如何将矩阵转换为字符串数组?
【发布时间】:2016-07-11 05:16:58
【问题描述】:

假设我有以下值:

A:  [2, 0, 2, 0, 1, 0] 
B:  [0, 1, 0, 0, 0, 1]
C:  [0, 1, 0, 1, 1, 0]
D:  [0, 0, 0, 1, 0, 1]

这些值表示在两行字符矩阵中出现的字符(A、B、C、D),每行有 6 个字符长。应该这样解释:

  • A 在第一列出现 2 次,在第三列出现 2 次。
  • B 在第 2 列出现 1 次,在第 6 列出现 1 次。
  • 等等……

生成的两行矩阵如下所示:

[A, B, A, C, C, D]
[A, C, A, D, A, B]

我不知道如何从矩阵中获取字符串数组。请帮忙。

【问题讨论】:

  • 用JAVA编程
  • 你需要输入你拥有的代码
  • 您需要输入部分代码来解释您的问题。到目前为止,您的问题还不清楚。
  • 你怎么知道它是 ABACCD ACADAB 而不是 ACACCD ABADAB?还是没关系?
  • 您甚至不需要发布您的实际代码,只需发布​​一些虚拟代码即可。

标签: java arrays matrix


【解决方案1】:

这只是概述了方法。 清楚名字,看看你会怎么做,重复什么

  • 结果

    char[][] resultRows = new char[2][6];
    
  • 重复的内容;必须收集什么等等:

    // The same work for every column:
    for (int columnI = 0; columnI < 6; ++columnI) {
        int resultRowI = 0;
        for (int letterRowI = 0; letterRowI < 4; ++letterRowI) {
            int n = rows[letterRowI][columnI];
    
  • 如何处理输入值。

            while (n > 0) {
                resultRows[resultRowI][columnI] = letter[letterRowI];
                ++resultRowI;
                --n;
            }
        }
    }
    
  • 输出结果。

当然,下次应该自己尝试寻找解决方案。 可能正在“在纸上”/记住解决方案。

【讨论】:

    猜你喜欢
    • 2019-09-15
    • 1970-01-01
    • 2017-11-21
    • 2019-08-16
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    相关资源
    最近更新 更多