【发布时间】:2014-01-20 07:27:53
【问题描述】:
我一直在努力尝试找出这个算法大约 6 个小时,但似乎无法提出解决方案。我正在尝试计算数组中元素的出现次数,并且可能还有两个单独的数组。一个用于唯一实例,一个用于这些实例发生的次数。我在这里发现了一些关于数组列表和 hashMaps 的其他想法,但我只能使用数组。
例如,我有这个数组(已经排序):
{cats, cats, cats, dog, dog, fish}
我正在尝试为实例创建一个数组,所以:
{cats, dog, fish}
最后,这些实例发生了多少次:
{3, 2, 1}
这是我到目前为止的代码:
public void findArrs( String[] words )
{
int counter = 1;
for(int i = 0; i < words.length - 1; i++){
if(!(words[i].equals(words[i+1]))){
counter++;
}
}
String[] unique = new String[counter];
int[] times = new int[counter];
for(int i = 0; i < words.length; i++){
}
}
这是我所有尝试后的所有代码。
【问题讨论】:
-
使用两个 for 循环,首先复制您的对象。第一个循环,获取名字,在内部循环中,计算出现次数。并推送到新数组。继续前进,直到完成所有不同的值
-
我做了一个贯穿分类数组的 for 外观,当它切换到不同的东西时,我增加了一个计数器,最后这就是唯一数组和实例数组的长度。但是我被困在如何将排序数组的元素移动到这两个中。
-
我刚刚用我的代码编辑了帖子。
标签: java arrays elements find-occurrences