gpt4 book ai didi

java - 我如何知道一个数字出现在数组中的频率

转载 作者:行者123 更新时间:2023-12-04 08:34:40 26 4
gpt4 key购买 nike

我处理将随机数列表保存在数组中,现在我有一个包含 7 个数字的数组:(3,4,6,6,10,3,5),我想知道数字出现的频率是多少.
我试过这个,但我真的不知道怎么做

int size = 7
int aux [] = {3,4,6,6,10,3,5};
for(int i = 0 ; i<size; i++) {
int cont = 0 ;
for(int j = 0; i<size-1; j++) {
if(aux[i] == aux[j+1]) {
aux[j+1] = -1;
cont++;
}

}
System.out.println("The number "+ aux[i] + " appears "+ cont + "times");
}

最佳答案

您可以使用 Map 并在循环中自己计算出现次数:

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

public class Main {
private static Map<Integer, Integer> getCounts(int[] arr) {
Map<Integer, Integer> counts = new HashMap<>();
for (int x : arr) {
counts.put(x, counts.getOrDefault(x, 0) + 1);
}
return counts;
}

public static void main(String[] args) {
int[] arr = {3, 4, 6, 6, 10, 3, 5};
System.out.println(Arrays.toString(arr));
Map<Integer, Integer> counts = getCounts(arr);
for (Map.Entry<Integer, Integer> entry : counts.entrySet()) {
System.out.printf("%d occurs %d %s\n", entry.getKey(),
entry.getValue(), entry.getValue() == 1 ? "time" : "times");
}
}
}
输出:
[3, 4, 6, 6, 10, 3, 5]
3 occurs 2 times
4 occurs 1 time
5 occurs 1 time
6 occurs 2 times
10 occurs 1 time

关于java - 我如何知道一个数字出现在数组中的频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64852272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com