gpt4 book ai didi

java - 在列表最佳解决方案中查找给定数字的出现次数

转载 作者:行者123 更新时间:2023-11-29 04:36:40 26 4
gpt4 key购买 nike

我已经编写了一个解决方案来查找 n 个列表中出现的公共(public)数字。我只是担心这是否是最佳解决方案?请建议最好的方法。

import java.util.Arrays;
import java.util.List;

public class CommonNumberFinder
{

final static List<Number> list1 = Arrays.asList(new Number[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 });
final static List<Number> list2 = Arrays
.asList(new Number[] { 3, 5, 1, 6, 2, 6, 3, 3, 6, 1, 5, 7, 2, 6, 2, 5, 2, 6, 8, 2 });

public static void main(String[] args)
{
findCountOfNumber(Arrays.asList(new List[] { list1, list2 }), 6);
}

private static void findCountOfNumber(final List<List<Number>> lists, final Number num)
{
int count = 0;
for (List<Number> list : lists)
{
if (!list.contains(num))
{
System.err.printf("Number %d is not common", num);
}
}
for (List<Number> list : lists)
{
for (Number number : list)
{
if (number == num)
count++;
}
System.out.println("List have-" + count);
count = 0;
}

}
}

最佳答案

简单多了。

Java 中已经有一个函数:

Collections.frequency(list,num);

所以在你的情况下你必须做一个循环:

for(List<Number> nestedList : lists){
count+=Collections.frequency(nestedList,num);
}
if(count == 0) {
System.err.print(num+ " is not common");
} else{
System.out.println("List have-" + count);
}

这将给出所需的输出

关于java - 在列表最佳解决方案中查找给定数字的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41136528/

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