Solved

triangle challenge

Posted on 2016-09-09
4
122 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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

If you’re thinking to yourself “That description sounds a lot like two people doing the work that one could accomplish,” you’re not alone.
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.
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.
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 …

863 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

Need Help in Real-Time?

Connect with top rated Experts

24 Experts available now in Live!

Get 1:1 Help Now