Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
Solved

# modThree challenge

Posted on 2016-08-07
Medium Priority
203 Views
I am working on below challenge

http://codingbat.com/prob/p159979

Psedo code description of approach :
1. Loop throguh given array
2. check if array adjacent three elements are even or odd
3. if yes return true
4. if no return false

I wrote my code as below

``````public boolean modThree(int[] nums) {
boolean result=false;

for(int i=0;i<nums.length-2;i++){
if(nums[i]%2==0&&nums[i+1]%2==0&&nums[i+2]%2==0){
result=true;
return result;
}

else if(nums[i+1]%2==0&&nums[i+2]%2==0&&nums[i+3]%2==0){
result=true;
return result;
}

else if(nums[i]%2==1&&nums[i+1]%2==1&&nums[i+2]%2==1){
result=true;
return result;
}

else if(nums[i+1]%2==1&&nums[i+2]%2==1&&nums[i+3]%2==1){
result=true;
return result;
}

else{
result=false;
}
//return result;
}
return result;
}
``````

I am failing couple of  tests
Expected      Run
modThree([2, 1, 3, 5]) → true      true      OK
modThree([2, 1, 2, 5]) → false      false      OK
modThree([2, 4, 2, 5]) → true      true      OK
modThree([1, 2, 1, 2, 1]) → false      false      OK
modThree([9, 9, 9]) → true      true      OK
modThree([1, 2, 1]) → false      false      OK
modThree([1, 2]) → false      false      OK
modThree([1]) → false      false      OK
modThree([]) → false      false      OK
modThree([9, 7, 2, 9]) → false      false      OK
modThree([9, 7, 2, 9, 2, 2]) → false      Exception:java.lang.ArrayIndexOutOfBoundsException: 6 (line number:10)      X
modThree([9, 7, 2, 9, 2, 2, 6]) → true      true      OK
0
Question by:gudii9
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points

LVL 27

Expert Comment

ID: 41746612
There is one else in your pseudo code, but four in you code.
What does that mean?
0

LVL 4

Accepted Solution

Hammadh Abdul Rahman earned 1000 total points
ID: 41746640
Just remove lines 10-13 and 20-23. Also, the else block is unnecessary.

As the message says, ArrayIndexOutOfBoundsException is occurring at line 10. The same error is possible at line 20 also.

This is because of the reference to nums[i+3]. modThree([9, 7, 2, 9, 2, 2]) would give a array of length 6. Since i<nums.length-2 is the loop condition, max 'i' value would be 3. So nums[3+3] would give error because highest index is 5.
0

LVL 32

Assisted Solution

awking00 earned 1000 total points
ID: 41747460
Again, I might suggest starting at index = 2 and searching backwards (e.g. if i is even and i-1 and i-2 are even or i is odd and i-1 and i-2 are odd) to avoid any invalid index. Note, you would need to check for a minimum array length of 3.
0

LVL 7

Author Comment

ID: 41747599
``````public boolean modThree(int[] nums) {
boolean result=false;

for(int i=0;i<nums.length-2;i++){
if(nums[i]%2==0&&nums[i+1]%2==0&&nums[i+2]%2==0){
result=true;
return result;
}

else if(nums[i]%2==1&&nums[i+1]%2==1&&nums[i+2]%2==1){
result=true;
return result;
}
//return result;
}
return result;
}
``````
above passed all tests
0

## Featured Post

Question has a verified solution.

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

Computer science students often experience many of the same frustrations when going through their engineering courses. This article presents seven tips I found useful when completing a bachelors and masters degree in computing which I believe may he…
Looking for a way to avoid searching through large data sets for data that doesn't exist? A Bloom Filter might be what you need. This data structure is a probabilistic filter that allows you to avoid unnecessary searches when you know the data defin…
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…
###### Suggested Courses
Course of the Month11 days, 3 hours left to enroll