我的代码如下所示:
public static int[] common(int[] a, int[] b){
for(int i=0;i<a.length;i++) {
for(int j=0;j<b.length;j++) {
if(a[i] == b[j] ) {
System.out.print(a[i]);
break;
}
}
}
return a;
}
如果没有设置/列表/等等,是不可能做到的。因为输出的大小是事先未知的。您可以在输入中创建一个大小为两个中最小的数组,但这会浪费内存(如果数组很大)。
如果您使用一个HashSet,您可以线性地进行操作,只需用第一个数组填充集合,然后在HashSet中查找第二个数组,将结果存储在另一个HashSet中。
如果您不想这样做或不能这样做(例如,面试官的约束),您需要为循环的每个元素做一个嵌套循环+一个不添加已添加元素的循环,这将使算法n^2
。
问题内容: 在Java中,从两个字符串数组返回公共元素的最有效方法是什么?我可以用一对for循环来做到这一点,但这似乎并不是很有效。根据对类似SO问题的评论,我能想到的最好的方法是转换为a ,然后应用:) 问题答案: 编辑: 这是单线的: 该IMPL(类AbstractCollection中)遍历,以及用途的说法。将参数转换为a 将导致快速查找,因此a中的循环将尽快执行。 另外,名称暗示它是一个常
问题内容: 考虑到我有两个数组,例如: 这样,在一个方法中,我计算了两个数组,即& ,现在我想返回这两个数组。我应该怎么做? 我在这里读到我可以创建另一个类并定义某些对象类型,并将这些数组封装在该类构造函数中,但是我仍然感到困惑,并且不完全理解。 如果您能给我看一个可行的例子,或者有任何类似的想法,那将是很好的。 问题答案: 您实际上还可以返回如下内容: 假设在调用此方法的地方之外,返回的对象是。
我正在测试一个返回布尔值的公共静态方法。但是不管我给什么条件,它总是返回false。这是我的代码。 测试方法: 测试方法: 我发现它在调试的时候没有跳转到isTrue()方法的断点。和< code>assertTrue(isTrue(request))之前;所有参数模拟正确。但是< code>isTrue(request)总是返回false。 这是日志:
如何添加公共方法priceAfterDiscount,该方法在此类中返回折扣后的价格: } } 这是我的主要活动。帮我写代码。 b1原价加10美元(硬代码) }
简介 框架中内置封装了一些公共函数,开发者在实际业务中可以直接使用,无需重复封装。其中包括: 协程函数 数组函数 目录(文件夹)函数 环境函数 文件函数 文件系统函数 对象函数 PHP 助手函数 字符串函数 系统函数 XML 函数 通用函数 协程函数 创建协程Swoft 框架中不能使用 Swoole 提供的 go 函数创建协程,否则会造成请求和上下文丢失最终导致一些不可预估的问题。 Swoft 拥