帮助开发算法

时间:2011-07-21 07:12:25

标签: algorithm

嗨我需要一些小帮助来开发算法..如果有任何算法存在,请更新我。

这就是我想要做的。

我有4个输入文本框和一个输出文本框。 在输入文本框中我想给4个字符。例如a,a,a,b。 输出文本框应该给我答案“a”。

我想检查输入文本框中输入最多的字符,并希望显示它。

需要的示例输入和输出(text1,text2,text3,text4 = output)

a,a,a,a = a
a,b,a,a = a
a,a,b,b = a
a,a,b,a = a
c,c,a,c = c

这个程序是用Visual Studio 2010终极版在c#中编写的。 任何好的建议都会受到欢迎....

感谢..

3 个答案:

答案 0 :(得分:2)

好的,我会选择另一个机智;伪代码。如果你不能把它变成真正的代码,那就把你的教科书交给老师,告诉他你不适合他的班级。

define dictionary with key as 'char' and value as integer
for each textbox
   read a character from textbox
   increment by 1 the dictionary value associated with this character
find the highest value in the dictionary
output the associated key

答案 1 :(得分:1)

如有疑问,请使用蛮力。这意味着:

  • 设置将字符映射到计数的键值集合
  • 逐步完成你的字符串;对于每个字符,如果它在集合中,则将其计数增加1,否则将其计数为1
  • 逐步浏览你的收藏品以找到计数最高的字符(记住得分最高的字符,对于每个条目,如果当前更好,则更新记住的条目)

如果您的输入明显更大(比如说1000个字符),那么您必须选择更高效的算法,但我们总共讨论了四个字符。

答案 2 :(得分:0)

算法非常简单:

  1. 通过文本框迭代:
  2. 按“,”拆分文本框文本,并通过
  3. 进行交互
  4. 如果你遇到'a'增加'symbol'ounter',如果你遇到'b'增加'symbolBCounter'
  5. 如果symbolACounter> symbolBCounter,put'a'作为答案,否则放'b'
  6. 转到下一个文本框。
  7. 修改

    我没有注意到有'c'作为输入。因此,不要使用计数器,最好使用Dictionary<char, int>并执行charsDictionary[currentChar]++;

    之类的操作