Solved

triangle challenge

Posted on 2016-09-09
4
156 Views
Last Modified: 2016-09-11
Hi,

I am working on below challenge

http://codingbat.com/prob/p194781

Recursion-1 > triangle
prev  |  next  |  chance
We have triangle made of blocks. The topmost row has 1 block, the next row down has 2 blocks, the next row has 3 blocks, and so on. Compute recursively (no loops or multiplication) the total number of blocks in such a triangle with the given number of rows.

triangle(0) → 0
triangle(1) → 1
triangle(2) → 3

i have not understood above description.
what is row and what is block and how they are related to triange and what we have to return
Can you please advise
0
Comment
Question by:gudii9
  • 2
  • 2
4 Comments
 
LVL 27

Accepted Solution

by:
rrz earned 500 total points
ID: 41792161
what is row and what is block and how they are related to triange and what we have to return
They could have named this challenge "stairs". Here is a image I found to illustrate the concept. stairs It's shape is roughly a triangle. They want to give total number of blocks needed to construct the triangle(stairs).
0
 
LVL 7

Author Comment

by:gudii9
ID: 41792191
i understood now with above image.

public int triangle(int rows) {
  if(rows==1){
    return 1;
  }
  return rows+triangle(rows-1);
}

Open in new window

above fails one test case

xpected      Run            
triangle(0) → 0      Exception:java.lang.StackOverflowError (line number:2)      X      
triangle(1) → 1      1      OK      
triangle(2) → 3      3      OK      
triangle(3) → 6      6      OK      
triangle(4) → 10      10      OK      
triangle(5) → 15      15      OK      
triangle(6) → 21      21      OK      
triangle(7) → 28      28      OK      
other tests
how to decide base case begin with 0 or with 1. it is failing 0 case now
0
 
LVL 27

Expert Comment

by:rrz
ID: 41792194
how to decide base case begin with 0
Just do the same with base case with 0 instead of 1.
0
 
LVL 7

Author Comment

by:gudii9
ID: 41793645
with one failing one.

with 0 base case all passing

public int triangle(int rows) {
  if(rows==0){
    return 0;
  }
  return rows+triangle(rows-1);
}

Open in new window

0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
java stored proc example 9 32
How do I remove an object from a 3 26
login form jsp example 2 25
Html Table Looping (part 2) 5 6
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:

810 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