我想在数组元素java中打印恰好发生(n / k)次的元素数。我正在使用另一个数组,但是我能够打印元素的值,而不是输出中要求的元素数。请帮忙。
import java.io.*;
import java.util.*;
class GFG
{
public static void main (String[] args)
{
// Taking input through Scanner class
Scanner sc = new Scanner(System.in);
int testcase = sc.nextInt();
while (testcase-- > 0) {
int sizeof_array = sc.nextInt();
int k = sc.nextInt();
int a[] = new int[sizeof_array];
for (int i = 0; i < sizeof_array; i++) {
a[i] = sc.nextInt();
}
Geeks obj = new Geeks();
obj.countSpecials(a, sizeof_array, k);
}
}
}
class Geeks
{
static void countSpecials(int a[], int n, int k)
{
int f = (int) Math.floor(n / k);
boolean visited[] = new boolean[n];
// your code here
for (int i = 0; i < n; i++) {
int count = 1;
for (int j = i + 1; j < n; j++) {
if (a[i] == a[j]) {
visited[j] = true;
count += 1;
if (count == f) {
System.out.println(a[j]);
}
}
}
}
}
}
请仔细阅读此代码并适当回答。
预期的示例输出:
输入: 1个 6 2 1 4 1 4 4 1
输出: 2
但是我的输出:
对于输入: 1个 6 2 1 4 1 4 4 1 您的输出是: 1个 4