[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
Solved

# matchUp  challenge

Posted on 2016-08-03
Medium Priority
123 Views
Hi,

I am working on below challenge
http://codingbat.com/prob/p136254

Psedo code description of approach :
1. loop through both arrays
2. identify each index element and compare to see differnce is atmost 2
3. if step2 is true return true
4. otherwise return false

I wrote my code as below

``````public int matchUp(int[] nums1, int[] nums2) {
int count=0;
for(int i=0; i<nums1.length-1;i++){
if(Math.abs(nums1[i]-nums2[i+1])<=2){
count++;
}
}
return count;
}
``````

I am not passing all tests due to edge cases.
Expected      Run
matchUp([1, 2, 3], [2, 3, 10]) → 2      1      X
matchUp([1, 2, 3], [2, 3, 5]) → 3      1      X
matchUp([1, 2, 3], [2, 3, 3]) → 2      2      OK
matchUp([5, 3], [5, 5]) → 1      1      OK
matchUp([5, 3], [4, 4]) → 2      1      X
matchUp([5, 3], [3, 3]) → 1      1      OK
matchUp([5, 3], [2, 2]) → 1      0      X
matchUp([5, 3], [1, 1]) → 1      0      X
matchUp([5, 3], [0, 0]) → 0      0      OK
matchUp([4], [4]) → 0      0      OK
matchUp([4], [5]) → 1      0      X
other tests
X

0
Question by:gudii9
• 3
• 3

LVL 17

Accepted Solution

krakatoa earned 2000 total points
ID: 41742228
WHY are you comparing nums1 indexes with nums2 indexes+1 ????????

You haven't read the question properly again.
0

LVL 7

Author Comment

ID: 41742457
``````public int matchUp(int[] nums1, int[] nums2) {
int count=0;
for(int i=0; i<nums1.length-1;i++){
if(Math.abs(nums1[i]-nums2[i])<=2){
count++;
}
}
return count;
}
``````
oops that was type. I fixed as above. still failing some tests. please advise
Expected      Run
matchUp([1, 2, 3], [2, 3, 10]) → 2      2      OK
matchUp([1, 2, 3], [2, 3, 5]) → 3      2      X
matchUp([1, 2, 3], [2, 3, 3]) → 2      2      OK
matchUp([5, 3], [5, 5]) → 1      1      OK
matchUp([5, 3], [4, 4]) → 2      1      X
matchUp([5, 3], [3, 3]) → 1      1      OK
matchUp([5, 3], [2, 2]) → 1      0      X
matchUp([5, 3], [1, 1]) → 1      0      X
matchUp([5, 3], [0, 0]) → 0      0      OK
matchUp([4], [4]) → 0      0      OK
matchUp([4], [5]) → 1      0      X
other tests
X
0

LVL 17

Expert Comment

ID: 41742495

My advice is that you read the question properly . . .  which you still haven't done.

You are being lazy again, and expecting us to tell you what to think, despite the fact that we've already told you HOW to think.
0

LVL 7

Author Comment

ID: 41742752
``````public int matchUp(int[] nums1, int[] nums2) {
int count=0;
for(int i=0; i<nums1.length;i++){
if((Math.abs(nums1[i]-nums2[i])==2)||(Math.abs(nums1[i]-nums2[i])==1)){
count++;
}
}
return count;
}
``````
Expected      Run
matchUp([1, 2, 3], [2, 3, 10]) → 2      2      OK
matchUp([1, 2, 3], [2, 3, 5]) → 3      3      OK
matchUp([1, 2, 3], [2, 3, 3]) → 2      2      OK
matchUp([5, 3], [5, 5]) → 1      1      OK
matchUp([5, 3], [4, 4]) → 2      2      OK
matchUp([5, 3], [3, 3]) → 1      1      OK
matchUp([5, 3], [2, 2]) → 1      1      OK
matchUp([5, 3], [1, 1]) → 1      1      OK
matchUp([5, 3], [0, 0]) → 0      0      OK
matchUp([4], [4]) → 0      0      OK
matchUp([4], [5]) → 1      1      OK
other tests
OK

i made mistake. Did not notice two or less but not equal. I fixed as above now passes all tests. Any suggestion to improve above code?
0

LVL 17

Expert Comment

ID: 41742916
No. You've done it this time.

I'd suggest however that you take the biggest part of the lesson here from the (eventually correct) interpretation of the question. That's always going to be the challenge.
0

LVL 7

Author Comment

ID: 41743199
No. You've done it this time.

I'd suggest however that you take the biggest part of the lesson here from the (eventually correct) interpretation of the question.

English is not my first language. some of the sentences i am having hard time to properly interpret. I will definitely do my best in improving.
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this post we will learn different types of Android Layout and some basics of an Android App.
This article will show how Aten was able to supply easy management and control for Artear's video walls and wide range display configurations of their newsroom.
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.
Six Sigma Control Plans
###### Suggested Courses
Course of the Month19 days, 17 hours left to enroll