for(int i=0;i<=nums1.length;i++) //nums1 { for(int j=0;j<= nums2.length;j++) //nums2 { if(j == 20) { i++; j = 0; } if(i == 20) { break; } if(nums1[i] == nums2[j]) { same[i] = nums1[i]; }
时间: 2023-06-12 20:06:08 浏览: 178
interview:总结一下面试常考的算法题,希望可以帮助每一位想要提升自己面试能力的同学。对于每一道算法题会总结代码、时间复杂度以及一些好的blog
这段代码有一些问题,循环中没有对计数器进行自增操作,会导致死循环。另外,第一个循环条件应该是 i < nums1.length,第二个循环条件应该是 j < nums2.length。还有,当 j 等于 20 时,i 应该自增 1,而不是直接赋值。下面是修正后的代码:
```
for(int i=0; i<nums1.length; i++) {
for(int j=0; j<nums2.length; j++) {
if(j == 20) {
i++;
j = 0;
}
if(i == 20) {
break;
}
if(nums1[i] == nums2[j]) {
same[i] = nums1[i];
}
}
}
```
阅读全文