用计数器比较值的难度
Comparing values difficulty with counter
我正在阅读一篇文章并计算这个值在文章中出现了多少次。为此,我使用 ArrayList,每当添加多个相同类型的字符时,这些字符已经在我的 ArrayList 中……我递增一个计数器。因此,在该方法的末尾,我能够打印文本中包含的与其对应出现匹配的字母表中的字母。
for(int i; i < text.length i++)
counter = 0
if arraylist already contains the character then continue
otherwise add the character to the array
for j; j < text.length j++
if index of text(j) and text(i) == the same
counter++
system out print arraylist[i] + counter
这是伪代码,可以让您了解我的程序是如何工作的,我不想 post 评估实际代码,我知道有人在使用它。
所以,我正在寻找一种方法来确定如何找到出现的最高和最低字母。我正在努力寻找想法,除非我将数组列表字符的计数器和索引都传递给某种数据结构,例如哈希图=/我觉得我一定是想得太多了,除非我的结构方式程序不是我想要做的最好的。因为显然我无法比较每个循环的计数器? ....质疑是否有哈希图可能更好,值得重新启动一切。
无论如何,欢迎提出任何建议! (这是经过评估的,所以请不要给出答案,但更多的是如何接近它的可能性)
尝试使用哈希图,即
HashMap<Character, Integer> charMap;
其中整数是您要跟踪的计数。使用适当的字符填充哈希图。之后,你可以简单地通过 get("somechar") 方法获取字符并将整数增加 1。
完成对字符的迭代后,您可以迭代哈希图以确定具有 lowest/highest 频率的字符。
我正在阅读一篇文章并计算这个值在文章中出现了多少次。为此,我使用 ArrayList,每当添加多个相同类型的字符时,这些字符已经在我的 ArrayList 中……我递增一个计数器。因此,在该方法的末尾,我能够打印文本中包含的与其对应出现匹配的字母表中的字母。
for(int i; i < text.length i++)
counter = 0
if arraylist already contains the character then continue
otherwise add the character to the array
for j; j < text.length j++
if index of text(j) and text(i) == the same
counter++
system out print arraylist[i] + counter
这是伪代码,可以让您了解我的程序是如何工作的,我不想 post 评估实际代码,我知道有人在使用它。
所以,我正在寻找一种方法来确定如何找到出现的最高和最低字母。我正在努力寻找想法,除非我将数组列表字符的计数器和索引都传递给某种数据结构,例如哈希图=/我觉得我一定是想得太多了,除非我的结构方式程序不是我想要做的最好的。因为显然我无法比较每个循环的计数器? ....质疑是否有哈希图可能更好,值得重新启动一切。
无论如何,欢迎提出任何建议! (这是经过评估的,所以请不要给出答案,但更多的是如何接近它的可能性)
尝试使用哈希图,即
HashMap<Character, Integer> charMap;
其中整数是您要跟踪的计数。使用适当的字符填充哈希图。之后,你可以简单地通过 get("somechar") 方法获取字符并将整数增加 1。 完成对字符的迭代后,您可以迭代哈希图以确定具有 lowest/highest 频率的字符。