【发布时间】:2016-12-08 23:10:58
【问题描述】:
我的问题很特别,
给出这些字符串
123456
String1 ABCD
String2 BDD
String3 CDEF
我们可以看到
- 第 1 列中 A 的个数为 1。
- 第 2 列中 B 的数量为 2。
- 第 3 列中 C 的数量为 2。
- 第 3 列中 D 的数量为 1。
- 第 4 列中 D 的数量为 3。
- 第 5 列中 E 的数量为 1。
- 第 6 列中 F 的数量为 1。
这些计算的目的是获取在每列中出现最多的字符。
我可以用来处理这个问题的最佳 DataStructure 是什么?知道我只在执行时才知道每个字符串的长度。
我已经知道的信息是每个字符串开始的列的 n°。
我的想法和我认为这不是最好的想法是遍历列 n° 并计算每个字符出现了多少,最后找到出现次数最多的字符。
你有更好的解决方案吗?
info: 我的字符串只能包含那些 char[A,B,C,D,E,F] 谢谢。
【问题讨论】:
-
您可能需要考虑每个字符串长度为一个字符的特殊情况,因此您只需考虑位置 1。给定“A”、“A”、“B”,你如何确定“A”是答案?
-
所以我创建了一个包含 6 个案例的数组,每个字母的每个案例,0 代表 A,1 代表 B ....,因为我们只有一列,我将测试字符串的每个第一个字符每次我添加 +1 时,我拥有最大 num 的情况是出现次数最多的字符的情况,在你的示例中,我将在 0 的情况下有 2 ,这意味着 char A ,我们将有 1 的情况2.希望你能理解我。
-
我认为您应该将其写在纸上并跟踪各个步骤,并将值保存在变量中。这将帮助您了解如何向计算机表达这一点。