比较两个long类型数组正负不超过10000
时间: 2023-11-09 13:06:42 浏览: 69
java基础之数组
可以使用双指针来解决这个问题。
首先将两个数组按照从小到大的顺序排序。
然后使用双指针,一个指向第一个数组的开头,另一个指向第二个数组的结尾。
每次比较两个指针指向的元素之和与0的大小关系,如果大于0,则将第二个指针向前移动;如果小于0,则将第一个指针向后移动;如果等于0,则找到了一组满足条件的数字。
具体实现可以参考下面的代码:
```java
public static boolean compareArrays(long[] a, long[] b) {
Arrays.sort(a);
Arrays.sort(b);
int i = 0, j = b.length - 1;
while (i < a.length && j >= 0) {
if (a[i] + b[j] < 0) {
i++;
} else if (a[i] + b[j] > 0) {
j--;
} else {
return true;
}
}
return false;
}
```
这个函数返回一个布尔值,表示两个数组是否存在一组元素之和正负不超过10000。注意,在排序之后,数组中可能存在相同的元素,所以在比较时要特别处理。
阅读全文