【发布时间】:2020-10-23 14:53:31
【问题描述】:
我有一个作业,我已经尝试解决了几个小时。
描述:我们有2个排序数组list,列表a的长度是n,列表b的长度是m;我们假设a和b已经排序,并且列表a和b不包含重复。并且我想如下,但我总是得到一个错误:index out of bound。
public static List<Integer> union(List<Integer> list1, List<Integer> list2 ) {
List<Integer> union = new ArrayList<>();
int n1 = 0;
int n2 = 0;
for (int i = 0; i < list1+list2; i++) {
....
}
【问题讨论】:
-
[HINT:] 当列表之一被消耗时会发生什么?
-
您的问题在于当您到达一个数组的末尾并且在增加比较索引后仍试图获取一个值时。那时您将超出您的数组界限。你需要确保你不会过冲并继续从耗尽的阵列中拉出。