Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

scoresAverage challenge

Posted on 2016-08-26
8
Medium Priority
?
149 Views
Last Modified: 2016-08-29
Hi,

I am working on below challenge

http://codingbat.com/prob/p123837
I wrote my code as below
public int scoresAverage(int[] scores) {
  int result=0;
  int len=scores.length;
  int lenHalf=len/2;
  int sumEven=0;
    int sumOdd=0;
for(int i=0;i<lenHalf;i++){
    sumEven=(scores[i]+scores[i+1])/2;
    //result=sumeEven;
    //return result;
  }
  
  for(int i=lenHalf;i<len;i++){
    sumOdd=(scores[i]+scores[i+1])/2;
   // result=sumeOdd;
    //return result;
  }
  if(sumOdd>sumEven){
    return sumOdd;
  }
  else{
    return sumEven;
  }


}
return result;
  

}

}

Open in new window





I am not passing all tests with below error

Compile problems:


Error:      }
      ^
Syntax error on token "}", { expected after this token


How to improve my design, approach, code? please advise
0
Comment
Question by:gudii9
  • 4
  • 2
  • 2
8 Comments
 
LVL 9

Accepted Solution

by:
Subrat (C++ windows/Linux) earned 2000 total points
ID: 41772614
move last return statement two line up and delete last two }} Nd check
0
 
LVL 27

Expert Comment

by:d-glitch
ID: 41772918
Where is your pseudo code??
0
 
LVL 9

Expert Comment

by:Subrat (C++ windows/Linux)
ID: 41772937
public int scoresAverage(int[] scores) {
  int result=0;
  int len=scores.length;
  int lenHalf=len/2;
  int sumEven=0;
    int sumOdd=0;
for(int i=0;i<lenHalf;i++){
    sumEven=(scores[i]+scores[i+1])/2;
    //result=sumeEven;
    //return result;
  }
  
  for(int i=lenHalf;i<len;i++){
    sumOdd=(scores[i]+scores[i+1])/2;
   // result=sumeOdd;
    //return result;
  }
  if(sumOdd>sumEven){
    return sumOdd;
  }
  else{
    return sumEven;
  }

    return result;

}

  

Open in new window

0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 27

Expert Comment

by:d-glitch
ID: 41772943
Not appropriate to post complete solutions to homework-type problems before the Asker has even responded to your hint.
0
 
LVL 7

Author Comment

by:gudii9
ID: 41773397
public int scoresAverage(int[] scores) {
  int result=0;
  int len=scores.length;
  int lenHalf=len/2;
  int sumEven=0;
    int sumOdd=0;
    if(len>2){
for(int i=0;i<lenHalf-1;i++){
    sumEven=(scores[i]+scores[i+1])/2;
    //result=sumeEven;
    //return result;
  }
  
  for(int i=lenHalf;i<len-1;i++){
    sumOdd=(scores[i]+scores[i+1])/2;
   // result=sumeOdd;
    //return result;
  }
  if(sumOdd>sumEven){
    result=sumOdd;
    return result;
  }
  else{
    result=sumEven;
    return result;
  }
}
else{
   if(scores[0]>scores[1]){
    result=scores[0];
    return result;
  }
  else{
    result=scores[1];
    return result;
  }
}

}

  

Open in new window



above passes all tests.
Any improvement, refinement, refactoring the code?

Psuedo Code:
1. loop through array
2. for arrays more than 2 elements find the average of left part and right part and return whichever greater
3. for array of 3 elements return the max out f both elements.
0
 
LVL 9

Expert Comment

by:Subrat (C++ windows/Linux)
ID: 41773420
Keep only one return statement at end. it is bad practice to keep multiple return path from a function. Assign the result as per the requirement and finally return.
0
 
LVL 9

Expert Comment

by:Subrat (C++ windows/Linux)
ID: 41773422
>>3. for array of 3 elements return the max out f both >>elements.

test case input 10, 20, 10
is the op that you r getting correct? what is expected?
0
 
LVL 7

Author Comment

by:gudii9
ID: 41773429
>>3. for array of 3 elements return the max out f both >>elements.


oops, i mean

>>3. for array of 2 elements return the max out f both >>elements.
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Today, the web development industry is booming, and many people consider it to be their vocation. The question you may be asking yourself is – how do I become a web developer?
Article by: evilrix
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…
The viewer will learn how to implement Singleton Design Pattern in Java.
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.
Suggested Courses

581 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question