Solved

# scoresSpecial  challenge

Posted on 2016-08-30
Medium Priority
82 Views
Hi,

i am working one below challenge
http://codingbat.com/prob/p140485

i was not clear on below description

Given two arrays, A and B, of non-negative int scores. A "special" score is one which is a multiple of 10, such as 40 or 90. Return the sum of largest special score in A and the largest special score in B. To practice decomposition, write a separate helper method which finds the largest special score in an array. Write your helper method after your scoresSpecial() method in the JavaBat text area.

scoresSpecial([12, 10, 4], [2, 20, 30]) → 40
scoresSpecial([20, 10, 4], [2, 20, 10]) → 40
scoresSpecial([12, 11, 4], [2, 20, 31]) → 20
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
• 4
• 4
• 2
• +1

LVL 143

Accepted Solution

Guy Hengel [angelIII / a3] earned 1000 total points
ID: 41777567
>Return the sum of largest special score in A and the largest special score in B
+
>write a separate helper method which finds the largest special score in an array

actually, the answer is fully given there, apart from actually giving out the code itself.
0

LVL 16

Expert Comment

ID: 41778419
Good luck to you in your mysterious and futile mission.
0

LVL 7

Author Comment

ID: 41790640
``````public int scoresSpecial(int[] a, int[] b) {
int result1=0;
int result2=0;
int initialA=0;
int intitiaB=0;
for(int i=0;i<a.length;i++){
if(a[i]%10==0){
result1=result1+a[i];
}

}
for(int j=0;j<b.length;j++){
if(b[j]%10==0){
result2=result1+b[j];
}
}
return (result1+result2);
}
``````

something like above?
xpected      Run
scoresSpecial([12, 10, 4], [2, 20, 30]) → 40      50      X
scoresSpecial([20, 10, 4], [2, 20, 10]) → 40      70      X
scoresSpecial([12, 11, 4], [2, 20, 31]) → 20      20      OK
scoresSpecial([1, 20, 2, 50], [3, 4, 5]) → 50      70      X
scoresSpecial([3, 4, 5], [1, 50, 2, 20]) → 50      20      X
scoresSpecial([10, 4, 20, 30], [20]) → 50      140      X
scoresSpecial([10, 4, 20, 30], [20]) → 50      140      X
scoresSpecial([10, 4, 20, 30], [3, 20, 99]) → 50      140      X
scoresSpecial([10, 4, 20, 30], [30, 20, 99]) → 60      140      X
scoresSpecial([], [2]) → 0      0      OK
scoresSpecial([], [20]) → 20      20      OK
scoresSpecial([14, 10, 4], [4, 20, 30]) → 40      50      X
other tests
X

how to get biggest 10 multiple from array a and also array b to add them up and return?
0

LVL 7

Author Comment

ID: 41790649
``````public int scoresSpecial(int[] a, int[] b) {
int result1=0;
int result2=0;
int initialA=0;
int initialB=0;
for(int i=0;i<a.length;i++){
if(a[i]%10==0&&initialA<a[i]){

initialA=a[i];
result1=initialA;
}

}
for(int j=0;j<b.length;j++){
if(b[j]%10==0&&initialB<b[j]){

initialB=b[j];
result2=initialB;
}
}
return (result1+result2);
}
``````
something like above. Above passes all tests.
Any improvements or alternate approaches?
0

LVL 7

Author Comment

ID: 41790660
``````public int scoresSpecial(int[] a, int[] b) {

return (scoresUtil(a)+scoresUtil(b));
}

public int scoresUtil(int[] x){
int result1=0;
int result2=0;
int initialA=0;
int initialB=0;
for(int i=0;i<x.length;i++){
if(x[i]%10==0&&initialA<x[i]){

initialA=x[i];
result1=initialA;
}

}

return result1;
}
``````
more refactored to helper method as above.
0

LVL 28

Assisted Solution

rrz earned 1000 total points
ID: 41790706
That is good. I think you are improving.  You could clean it up to make it more readable.
``````public int scoresSpecial(int[] a, int[] b) {
return (scoresUtil(a) + scoresUtil(b));
}
public int scoresUtil(int[] x){
int largest = 0;
for(int i = 0; i < x.length; i++){
if(x[i]%10 == 0 && largest < x[i]){
largest = x[i];
}
}
return largest;
}
``````
0

LVL 16

Expert Comment

ID: 41790794
0

LVL 143

Expert Comment

ID: 41790810
I think the code is ok and complete, at least I see nothing missing
0

LVL 16

Expert Comment

ID: 41790865
Very funny - you deleted my code for being "complete" (full was the term used). So what's the difference now?
0

LVL 28

Expert Comment

ID: 41791352
@krakatoa,
So what's the difference now?
The difference is that I was just rewriting gudii9 code that he posted at
https://www.experts-exchange.com/questions/28966729/scoresSpecial-challenge.html#a41790660
0

LVL 16

Expert Comment

ID: 41791383
The point is both your code and mine passed all the tests, and you made no more attempt to get him to iron out his mistakes and recode it than I did - so imho, the situation is still not kosher.
0

LVL 7

Author Comment

ID: 41791417
You could clean it up to make it more readable.

i like naming largest and your code is more refined.
0

## Featured Post

Question has a verified solution.

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

Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
When we want to run, execute or repeat a statement multiple times, a loop is necessary. This article covers the two types of loops in Python: the while loop and the for loop.
The viewer will learn how to implement Singleton Design Pattern in Java.
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 …
###### Suggested Courses
Course of the Month10 days, 12 hours left to enroll