【发布时间】:2020-10-16 10:01:11
【问题描述】:
当我在 bat 编码上练习 Java 问题时,我遇到了以下问题陈述。
问题:-
给定两个长度相同的数组 nums1 和 nums2,对于 nums1,考虑nums2中对应的元素(同时 指数)。返回两个元素的次数 相差 2 或更少,但不相等。
例子:-
matchUp([1, 2, 3], [2, 3, 10]) → 2
matchUp([1, 2, 3], [2, 3, 5]) → 3
matchUp([1, 2, 3], [2, 3, 3]) → 2
我的解决方案:-
public int matchUp(int[] nums1, int[] nums2) {
int count=0;
for(int i=0;i<=nums1.length-1;i++){
if((nums1[i]-nums2[i]==1)||(nums1[i]-nums2[i]==2)||(nums2[i]-nums1[i]==1)||(nums2[i]-nums1[i]==2))
count++;
}
return count;
}
我的问题:-
虽然我已经解决了这个问题,但我的解决方案看起来有点长。所以我正在寻找一些比我的代码行更少的更短更准确的解决方案。你能帮我解决这个问题吗?
【问题讨论】:
标签: java arrays if-statement operators